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
This commit is contained in:
@@ -3545,6 +3545,9 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground),
|
|||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!widget->window)
|
||||||
|
return;
|
||||||
|
|
||||||
if (rect == NULL)
|
if (rect == NULL)
|
||||||
gtk_widget_queue_draw(widget);
|
gtk_widget_queue_draw(widget);
|
||||||
else
|
else
|
||||||
@@ -3553,7 +3556,16 @@ void wxWindowGTK::Refresh(bool WXUNUSED(eraseBackground),
|
|||||||
if (GetLayoutDirection() == wxLayout_RightToLeft)
|
if (GetLayoutDirection() == wxLayout_RightToLeft)
|
||||||
x = GetClientSize().x - x - rect->width;
|
x = GetClientSize().x - x - rect->width;
|
||||||
|
|
||||||
|
#if 0
|
||||||
gtk_widget_queue_draw_area(widget, x, rect->y, rect->width, rect->height);
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user