790 |
|
dnew.ncomp = rm->ncomp; |
791 |
|
if (!rmx_prepare(&dnew)) |
792 |
|
return(0); |
793 |
< |
rmx_addinfo(&dnew, rm->info); |
793 |
> |
dnew.info = rm->info; rm->info = NULL; |
794 |
|
dnew.dtype = rm->dtype; |
795 |
|
copycolor(dnew.cexp, rm->cexp); |
796 |
|
memcpy(dnew.wlpart, rm->wlpart, sizeof(dnew.wlpart)); |
1036 |
|
case 1: |
1037 |
|
setcolor(cv, dp[0], dp[0], dp[0]); |
1038 |
|
break; |
1039 |
< |
default: { |
1039 |
> |
default: |
1040 |
> |
if (sizeof(COLORV) == sizeof(rmx_dtype)) { |
1041 |
> |
scolor2color(cv, (const COLORV *)dp, |
1042 |
> |
rm->ncomp, rm->wlpart); |
1043 |
> |
} else { |
1044 |
|
COLORV scol[MAXCOMP]; |
1045 |
< |
int k; |
1046 |
< |
for (k = rm->ncomp; k--; ) |
1043 |
< |
scol[k] = dp[k]; |
1045 |
> |
int k = rm->ncomp; |
1046 |
> |
while (k--) scol[k] = dp[k]; |
1047 |
|
scolor2color(cv, scol, rm->ncomp, rm->wlpart); |
1048 |
< |
} break; |
1048 |
> |
} |
1049 |
> |
break; |
1050 |
|
} |
1051 |
|
} |
1052 |
|
} |