From 24a567924b71c7a99693146e3b75a12e98312d7f Mon Sep 17 00:00:00 2001 From: Cody Russell Date: Fri, 16 Jan 2009 16:30:18 +0000 Subject: [PATCH] =?UTF-8?q?Bug=20567944=20=E2=80=93=20[Win32]=20Sorted=20t?= =?UTF-8?q?reeview=20columns=20can=20be=20unreadable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2009-01-16 Cody Russell Bug 567944 – [Win32] Sorted treeview columns can be unreadable * modules/engines/ms-windows/msw_style.c: Draw selected treeview cells according to treeview focus, but ignore whether it is in a sorted column or not. Otherwise the intersection of a selected row and a sorted column looks very strange if the treeview does not have focus. svn path=/trunk/; revision=22126 --- ChangeLog | 10 ++++++++++ modules/engines/ms-windows/msw_style.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fc82236d5a..cecd726789 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-01-16 Cody Russell + + Bug 567944 – [Win32] Sorted treeview columns can be unreadable + + * modules/engines/ms-windows/msw_style.c: Draw selected treeview + cells according to treeview focus, but ignore whether it is in + a sorted column or not. Otherwise the intersection of a selected + row and a sorted column looks very strange if the treeview does + not have focus. + 2009-01-16 Daniel Elstner * modules/input/gtkimcontextmultipress.[ch]: Remove the namespace diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index f1e3c99662..536e7b576a 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -2902,7 +2902,16 @@ draw_flat_box (GtkStyle *style, GdkWindow *window, { if (detail) { - if (!strcmp (detail, "checkbutton")) + if (state_type == GTK_STATE_SELECTED && + (!strncmp ("cell_even", detail, 9) || !strncmp ("cell_odd", detail, 8))) + { + GdkGC *gc = GTK_WIDGET_HAS_FOCUS (widget) ? style->base_gc[state_type] : style->base_gc[GTK_STATE_ACTIVE]; + + gdk_draw_rectangle (window, gc, TRUE, x, y, width, height); + + return; + } + else if (!strcmp (detail, "checkbutton")) { if (state_type == GTK_STATE_PRELIGHT) {