-#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, &r, TRUE );
-#endif
+ if (rect)
+ {
+ int x = rect->x;
+ if (GetLayoutDirection() == wxLayout_RightToLeft)
+ x = GetClientSize().x - x - rect->width;
+ 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, &r, TRUE );
+ }
+ else
+ gdk_window_invalidate_rect( m_wxwindow->window, NULL, TRUE );