diff --git a/ChangeLog b/ChangeLog index 0898de61..9b44d6ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -45,6 +45,8 @@ Changes since version 0.64.0: - The icon image set to be shown in panels ("Logo.WMPanel") will be automatically updated if its entry in WMWindowAttributes changes (without a need to restart as until now). +- Fixed a bug in the icon chooser dialog that made the selected icon look + wrong if it had alpha blending. Changes since version 0.63.1: diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index a64bcc00..68e8fe0e 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -29,7 +29,7 @@ Changes since wmaker 0.64.0: performance a bit. - replaced some recursive code with iterative code in selection.c - added WMCreateBlendedPixmapFromRImage() -- Small API change: +- small API change: 1. Renamed WMSetApplicationIconImage(), WMGetApplicationIconImage() and WMSetWindowMiniwindowImage() to respectively WMSetApplicationIconPixmap(), WMGetApplicationIconPixmap() and WMSetWindowMiniwindowPixmap() @@ -46,6 +46,8 @@ Changes since wmaker 0.64.0: - updated panels to use the newly available RImages if present and fallback to old WMPixmaps if not, to properly show alpha blended images. - replaced some still left malloc's with wmalloc's. +- fixed a bug in WMReparentWidget() +- added WMReparentWidget() to WINGs.h changes since wmaker 0.63.1: diff --git a/WINGs/WINGs/WINGs.h b/WINGs/WINGs/WINGs.h index df227406..0499005b 100644 --- a/WINGs/WINGs/WINGs.h +++ b/WINGs/WINGs/WINGs.h @@ -847,6 +847,8 @@ void WMUnmapSubwidgets(WMWidget *w); void WMRealizeWidget(WMWidget *w); +void WMReparentWidget(WMWidget *w, WMWidget *newParent, int x, int y); + void WMDestroyWidget(WMWidget *widget); void WMHangData(WMWidget *widget, void *data); diff --git a/WINGs/widgets.c b/WINGs/widgets.c index 489782eb..8828d1ab 100644 --- a/WINGs/widgets.c +++ b/WINGs/widgets.c @@ -934,7 +934,7 @@ WMMapWidget(WMWidget *w) void WMReparentWidget(WMWidget *w, WMWidget *newParent, int x, int y) { - W_ReparentView(W_VIEW(w), newParent, x, y); + W_ReparentView(W_VIEW(w), W_VIEW(newParent), x, y); } diff --git a/src/dialog.c b/src/dialog.c index 43e67944..dcf7c814 100644 --- a/src/dialog.c +++ b/src/dialog.c @@ -370,7 +370,7 @@ drawIconProc(WMList *lPtr, int index, Drawable d, char *text, WMColor *whitecolor; WMSize size; WMScreen *wmscr = WMWidgetScreen(panel->win); - RColor gray; + RColor color; int width; if(!panel->preview) return; @@ -385,9 +385,14 @@ drawIconProc(WMList *lPtr, int index, Drawable d, char *text, sprintf(file, "%s/%s", dirfile, text); wfree(dirfile); - gray.red = 0xae; gray.green = 0xaa; - gray.blue = 0xae; gray.alpha = 0; - pixmap = WMCreateBlendedPixmapFromFile(wmscr, file, &gray); + if ((state & WLDSSelected) != 0) { + color.red = color.green = color.blue = 0xff; + color.alpha = 0; + } else { + color.red = color.blue = 0xae; + color.green = 0xaa; color.alpha = 0; + } + pixmap = WMCreateBlendedPixmapFromFile(wmscr, file, &color); wfree(file); if (!pixmap) {