X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-output-window.c;fp=src%2Fui%2Fgui%2Fpsppire-output-window.c;h=3c889808a32004551c08f45ec49b865a45d69c30;hb=18f9e37c8bc5f8ea21c9f3b3b6b3d0dee0b572cb;hp=074f90a88be77477ac9d9f8e095b058801464fad;hpb=c1c12933cd3d0014bd678f9c000632794ca8ffd7;p=pspp diff --git a/src/ui/gui/psppire-output-window.c b/src/ui/gui/psppire-output-window.c index 074f90a88b..3c889808a3 100644 --- a/src/ui/gui/psppire-output-window.c +++ b/src/ui/gui/psppire-output-window.c @@ -139,17 +139,27 @@ psppire_output_submit (struct output_driver *this, { struct psppire_output_driver *pod = psppire_output_cast (this); PsppireOutputWindow *window; + bool new; - if (pod->window == NULL) + new = pod->window == NULL; + if (new) { pod->window = PSPPIRE_OUTPUT_WINDOW (psppire_output_window_new ()); - gtk_widget_show_all (GTK_WIDGET (pod->window)); pod->window->driver = pod; } window = pod->window; psppire_output_view_put (window->view, item); + if (new) + { + /* We could have called this earlier in the previous "if (new)" block, + but doing it here finds, in a plain GTK+ environment, a bug that + otherwise only showed up on an Ubuntu Unity desktop. See bug + #43362. */ + gtk_widget_show_all (GTK_WIDGET (pod->window)); + } + gtk_window_set_urgency_hint (GTK_WINDOW (pod->window), TRUE); }