]> www.fi.muni.cz Git - evince.git/commitdiff
Fix window manager warnings shown in ~/.xsession-errors
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 31 Aug 2008 15:24:37 +0000 (15:24 +0000)
committerCarlos Garcia Campos <carlosgc@src.gnome.org>
Sun, 31 Aug 2008 15:24:37 +0000 (15:24 +0000)
2008-08-31  Carlos Garcia Campos  <carlosgc@gnome.org>

* shell/ev-application.[ch]: (ev_application_open_window),
(ev_application_add_icon_path_for_screen),
(ev_application_open_uri_at_dest):

Fix window manager warnings shown in ~/.xsession-errors

svn path=/trunk/; revision=3131

ChangeLog
shell/ev-application.c

index 55c9b2d5fccd7ce4b1fb4a2a418ac7a197ff835e..829f6c2930c7323cff331ba8d9b765951c751ff2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-31  Carlos Garcia Campos  <carlosgc@gnome.org>
+
+       * shell/ev-application.[ch]: (ev_application_open_window),
+       (ev_application_add_icon_path_for_screen),
+       (ev_application_open_uri_at_dest):
+
+       Fix window manager warnings shown in ~/.xsession-errors
+       
 2008-08-31  Carlos Garcia Campos  <carlosgc@gnome.org>
 
        * configure.ac:
index eda6d0c45a5e09eb94e5da24011148e22cdcd76e..8fb487114a10fbeb621600b6bf4d63c94e16f56c 100644 (file)
@@ -27,6 +27,7 @@
 #include <glib.h>
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
+#include <gdk/gdkx.h>
 
 #include "totem-scrsaver.h"
 #include "eggsmclient.h"
@@ -449,11 +450,15 @@ ev_application_open_window (EvApplication  *application,
                gtk_window_set_screen (GTK_WINDOW (new_window), screen);
        }
        ev_application_add_icon_path_for_screen (screen);
-       
+
        gtk_widget_show (new_window);
        
-       gtk_window_present_with_time (GTK_WINDOW (new_window),
-                                     timestamp);
+       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);
+       
+       gtk_window_present (GTK_WINDOW (new_window));
+
        return TRUE;
 }
 
@@ -533,7 +538,7 @@ ev_application_add_icon_path_for_screen (GdkScreen *screen)
 {
        GtkIconTheme *icon_theme;
 
-       icon_theme = gtk_icon_theme_get_for_screen (screen);
+       icon_theme = screen ? gtk_icon_theme_get_for_screen (screen) : gtk_icon_theme_get_default ();
        if (icon_theme) {
                gchar **path = NULL;
                gint    n_paths;
@@ -608,8 +613,11 @@ ev_application_open_uri_at_dest (EvApplication  *application,
        gtk_widget_show (GTK_WIDGET (new_window));
        ev_document_fc_mutex_unlock ();
 
-       gtk_window_present_with_time (GTK_WINDOW (new_window),
-                                     timestamp);
+       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);
+       
+       gtk_window_present (GTK_WINDOW (new_window));
 }
 
 /**