commit 04cf7661877b6573ad7062cf06fccaf178a55d5c
parent 5ae1141fe8fa4a53fb57f160f9f00c89678e1a60
Author: Andrej Kacian <ticho@claws-mail.org>
Date: Thu, 21 Mar 2019 18:55:02 +0100
Make sure that P_COLOR prefs are correctly initialized
Defaults to black, with alpha value set to 1.
Diffstat:
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/folder_item_prefs.c b/src/folder_item_prefs.c
@@ -214,6 +214,10 @@ static FolderItemPrefs *folder_item_prefs_clear(FolderItemPrefs *prefs)
prefs->enable_processing = FALSE;
prefs->enable_processing_when_opening = FALSE;
prefs->processing = NULL;
+ prefs->color.red = 0;
+ prefs->color.green = 0;
+ prefs->color.blue = 0;
+ prefs->color.alpha = 1;
prefs->newmailcheck = TRUE;
prefs->offlinesync = FALSE;
diff --git a/src/prefs_gtk.c b/src/prefs_gtk.c
@@ -53,7 +53,8 @@
#define INTCOLOR_TO_GDKRGBA(intcolor, rgba) \
rgba.red = (gdouble)(((intcolor >> 16UL) & 0xFFUL) << 8UL) / 65535; \
rgba.green = (gdouble)(((intcolor >> 8UL) & 0xFFUL) << 8UL) / 65535; \
- rgba.blue = (gdouble)(((intcolor ) & 0xFFUL) << 8UL) / 65535;
+ rgba.blue = (gdouble)(((intcolor ) & 0xFFUL) << 8UL) / 65535; \
+ rgba.alpha = 1;
typedef enum
@@ -463,14 +464,17 @@ void prefs_set_default(PrefParam *param)
*((gushort *)param[i].data) = 0;
break;
case P_COLOR:
- if (param[i].defval != NULL && gdk_rgba_parse(&color, param[i].defval))
+ if (param[i].defval != NULL && gdk_rgba_parse(&color, param[i].defval)) {
+ color.alpha = 1;
*((GdkRGBA *)param[i].data) = color;
- else if (param[i].defval) {
+ } else if (param[i].defval) {
/* be compatible and accept ints */
INTCOLOR_TO_GDKRGBA(strtoul(param[i].defval, 0, 10), color);
*((GdkRGBA *)param[i].data) = color;
} else {
- color.red = color.green = color.blue = 0; color.alpha = 1;
+ /* set to black as fallback */
+ color.red = color.green = color.blue = 0;
+ color.alpha = 1;
*((GdkRGBA *)param[i].data) = color;
}
break;