X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-application.c;h=e852561f3009de2b4c202d9d3e1812a0367c7f9c;hb=0be3be0d4166be324d628802772e99cacd336f11;hp=8fb487114a10fbeb621600b6bf4d63c94e16f56c;hpb=22f03e75fd3a285e7242d6f74ba8921039c2e632;p=evince.git diff --git a/shell/ev-application.c b/shell/ev-application.c index 8fb48711..e852561f 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -451,7 +451,8 @@ ev_application_open_window (EvApplication *application, } ev_application_add_icon_path_for_screen (screen); - gtk_widget_show (new_window); + if (!GTK_WIDGET_REALIZED (new_window)) + gtk_widget_realize (new_window); if (timestamp <= 0) timestamp = gdk_x11_get_server_time (GTK_WIDGET (new_window)->window); @@ -609,15 +610,16 @@ ev_application_open_uri_at_dest (EvApplication *application, ev_window_open_uri (new_window, uri, dest, mode, search_string, unlink_temp_file, print_settings); - ev_document_fc_mutex_lock (); - gtk_widget_show (GTK_WIDGET (new_window)); - ev_document_fc_mutex_unlock (); + if (!GTK_WIDGET_REALIZED (GTK_WIDGET (new_window))) + gtk_widget_realize (GTK_WIDGET (new_window)); if (timestamp <= 0) timestamp = gdk_x11_get_server_time (GTK_WIDGET (new_window)->window); gdk_x11_window_set_user_time (GTK_WIDGET (new_window)->window, timestamp); - + + ev_document_fc_mutex_lock (); gtk_window_present (GTK_WINDOW (new_window)); + ev_document_fc_mutex_unlock (); } /** @@ -720,6 +722,13 @@ ev_application_shutdown (EvApplication *application) application->print_settings = NULL; } #endif /* GTK 2.11.0 */ + +#ifdef ENABLE_DBUS + if (application->keys) { + g_object_unref (application->keys); + application->keys = NULL; + } +#endif /* ENABLE_DBUS */ g_free (application->last_chooser_uri); g_object_unref (application); @@ -823,13 +832,11 @@ ev_application_get_windows (EvApplication *application) * * Returns: A #EvMediaPlayerKeys. */ -GObject -*ev_application_get_media_keys (EvApplication *application) +GObject * +ev_application_get_media_keys (EvApplication *application) { #ifdef ENABLE_DBUS - if (!application->keys) - return NULL; - return g_object_ref (G_OBJECT (application->keys)); + return G_OBJECT (application->keys); #else return NULL; #endif /* ENABLE_DBUS */