diff options
Diffstat (limited to 'src/widgets')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 9 | ||||
| -rw-r--r-- | src/widgets/desktop-widget.h | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 9590af94c..795fdb0f8 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -661,6 +661,15 @@ SPDesktopWidget::requestCanvasUpdate() { } void +SPDesktopWidget::requestCanvasUpdateAndWait() { + requestCanvasUpdate(); + + while (gtk_events_pending()) + gtk_main_iteration_do(FALSE); + +} + +void SPDesktopWidget::setCoordinateStatus(NR::Point p) { gchar *cstr; diff --git a/src/widgets/desktop-widget.h b/src/widgets/desktop-widget.h index cc66bf180..409f38a8d 100644 --- a/src/widgets/desktop-widget.h +++ b/src/widgets/desktop-widget.h @@ -133,6 +133,8 @@ struct SPDesktopWidget { virtual void requestCanvasUpdate() { _dtw->requestCanvasUpdate(); } + virtual void requestCanvasUpdateAndWait() + { _dtw->requestCanvasUpdateAndWait(); } virtual void activateDesktop() { sp_dtw_desktop_activate (_dtw); } virtual void deactivateDesktop() @@ -183,6 +185,7 @@ struct SPDesktopWidget { bool isToolboxButtonActive (gchar const *id); void setCoordinateStatus(NR::Point p); void requestCanvasUpdate(); + void requestCanvasUpdateAndWait(); void updateTitle(gchar const *uri); }; |
