# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1356657879 0 # Node ID ff80ad40a5d67a7d3f2ffbd6bf384f086c45e557 # Parent 905f8632005b870f98abe51ca629baa39ca291da Initial attempt at allowing DW_CLR_DEFAULT clear color style overrides on GTK2/3. diff -r 905f8632005b -r ff80ad40a5d6 gtk/dw.c --- a/gtk/dw.c Thu Dec 27 13:03:47 2012 +0000 +++ b/gtk/dw.c Fri Dec 28 01:24:39 2012 +0000 @@ -3358,30 +3358,24 @@ GtkStyle *style = gtk_style_copy(gtk_widget_get_style(handle)); #endif - if(fore != DW_CLR_DEFAULT) - { -#if GTK_MAJOR_VERSION > 1 - gtk_widget_modify_text(handle, 0, &forecolor); - gtk_widget_modify_text(handle, 1, &forecolor); - gtk_widget_modify_fg(handle, 0, &forecolor); - gtk_widget_modify_fg(handle, 1, &forecolor); -#else - if(style) - style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = forecolor; -#endif - } - if(back != DW_CLR_DEFAULT) - { -#if GTK_MAJOR_VERSION > 1 - gtk_widget_modify_base(handle, 0, &backcolor); - gtk_widget_modify_base(handle, 1, &backcolor); - gtk_widget_modify_bg(handle, 0, &backcolor); - gtk_widget_modify_bg(handle, 1, &backcolor); -#else - if(style) - style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = backcolor; -#endif - } +#if GTK_MAJOR_VERSION > 1 + gtk_widget_modify_text(handle, 0, fore != DW_CLR_DEFAULT ? &forecolor : NULL); + gtk_widget_modify_text(handle, 1, fore != DW_CLR_DEFAULT ? &forecolor : NULL); + gtk_widget_modify_fg(handle, 0, fore != DW_CLR_DEFAULT ? &forecolor : NULL); + gtk_widget_modify_fg(handle, 1, fore != DW_CLR_DEFAULT ? &forecolor : NULL); +#else + if(fore != DW_CLR_DEFAULT && style) + style->text[0] = style->text[1] = style->fg[0] = style->fg[1] = forecolor; +#endif +#if GTK_MAJOR_VERSION > 1 + gtk_widget_modify_base(handle, 0, back != DW_CLR_DEFAULT ? &backcolor : NULL); + gtk_widget_modify_base(handle, 1, back != DW_CLR_DEFAULT ? &backcolor : NULL); + gtk_widget_modify_bg(handle, 0, back != DW_CLR_DEFAULT ? &backcolor : NULL); + gtk_widget_modify_bg(handle, 1, back != DW_CLR_DEFAULT ? &backcolor : NULL); +#else + if(back != DW_CLR_DEFAULT && style) + style->base[0] = style->base[1] = style->bg[0] = style->bg[1] = backcolor; +#endif _save_gdk_colors(handle, forecolor, backcolor); @@ -3391,8 +3385,8 @@ for(z=0;z