diff options
| author | John Bintz <me@johnbintz.com> | 2006-08-13 17:45:18 +0000 |
|---|---|---|
| committer | johncoswell <johncoswell@users.sourceforge.net> | 2006-08-13 17:45:18 +0000 |
| commit | addfca5cf637c0fe78d5bdeb2cb122f1f77131f8 (patch) | |
| tree | 88d085d9e6083b9f07ca5d2a0230948e49ab8955 /src/widgets | |
| parent | Fixed: Wrong colour space was used in images with transparency. (diff) | |
| download | inkscape-addfca5cf637c0fe78d5bdeb2cb122f1f77131f8.tar.gz inkscape-addfca5cf637c0fe78d5bdeb2cb122f1f77131f8.zip | |
added functions to allow update events to process during long-running operations
(bzr r1595)
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); }; |
