From 08bbdb08580c238689a22b6d55c32ac7b067b9cb Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Mon, 2 Feb 2009 14:02:50 +0000 Subject: [PATCH] The recent change to ::Refresh() (strangely) fails to invalidate e.g. a wxTreeCtrl in a wxDialog, revert the relevant part git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/window.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 6f2da8a..1864418 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -3545,6 +3545,9 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground), else return; + if (!widget->window) + return; + if (rect == NULL) gtk_widget_queue_draw(widget); else @@ -3553,7 +3556,16 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground), if (GetLayoutDirection() == wxLayout_RightToLeft) x = GetClientSize().x - x - rect->width; +#if 0 gtk_widget_queue_draw_area(widget, x, rect->y, rect->width, rect->height); +#else + GdkRectangle r; + r.x = rect->x; + r.y = rect->y; + r.width = rect->width; + r.height = rect->height; + gdk_window_invalidate_rect( m_wxwindow->window, NULL, TRUE ); +#endif } } -- 2.7.4