summaryrefslogtreecommitdiff
path: root/riscos/dialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/dialog.c')
-rw-r--r--riscos/dialog.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/riscos/dialog.c b/riscos/dialog.c
index 32dbb2ddc..f55cb7b55 100644
--- a/riscos/dialog.c
+++ b/riscos/dialog.c
@@ -457,6 +457,39 @@ void ro_gui_dialog_click(wimp_pointer *pointer)
ro_gui_dialog_click_config_font(pointer);
}
+/**
+ * Redraw a dialog window
+ */
+void ro_gui_dialog_redraw(wimp_draw *redraw) {
+ os_error *error;
+ osbool more;
+ struct toolbar_display *display;
+
+ for (display = toolbars; display; display = display->next) {
+ if ((display->toolbar) && (display->toolbar->toolbar_handle == redraw->w)) {
+ ro_gui_theme_redraw(display->toolbar, redraw);
+ return;
+ }
+ }
+
+ error = xwimp_redraw_window(redraw, &more);
+ if (error) {
+ LOG(("xwimp_redraw_window: 0x%x: %s",
+ error->errnum, error->errmess));
+ warn_user("WimpError", error->errmess);
+ return;
+ }
+ while (more) {
+ error = xwimp_get_rectangle(redraw, &more);
+ if (error) {
+ LOG(("xwimp_get_rectangle: 0x%x: %s",
+ error->errnum, error->errmess));
+ warn_user("WimpError", error->errmess);
+ return;
+ }
+ }
+
+}
/**
* Prepare and open the Choices dialog.