[libwnck] core: Add Screen argument to _wnck_get_res_class_utf8(), ...



commit 10a8d0fa0c99539c158e9f8fb17e26f6829de232
Author: Vincent Untz <vuntz gnome org>
Date:   Wed Jan 19 23:29:46 2011 +0100

    core: Add Screen argument to _wnck_get_res_class_utf8(), ...
    
    ... _wnck_get_wmclass().

 libwnck/application.c |    5 +++--
 libwnck/window.c      |    3 ++-
 libwnck/xutils.c      |   14 +++++++++-----
 libwnck/xutils.h      |    6 ++++--
 4 files changed, 18 insertions(+), 10 deletions(-)
---
diff --git a/libwnck/application.c b/libwnck/application.c
index c7cfdef..c39bc1a 100644
--- a/libwnck/application.c
+++ b/libwnck/application.c
@@ -534,7 +534,7 @@ _wnck_application_create (Window      xwindow,
   application->priv->name = _wnck_get_name (xscreen, xwindow);
 
   if (application->priv->name == NULL)
-    application->priv->name = _wnck_get_res_class_utf8 (xwindow);
+    application->priv->name = _wnck_get_res_class_utf8 (xscreen, xwindow);
 
   if (application->priv->name)
     application->priv->name_from_leader = TRUE;
@@ -724,7 +724,8 @@ update_name (WnckApplication *app)
         {
           /* more than one */
           app->priv->name =
-            _wnck_get_res_class_utf8 (wnck_window_get_xid (app->priv->windows->data));
+            _wnck_get_res_class_utf8 (WNCK_SCREEN_XSCREEN (app->priv->screen),
+                                      wnck_window_get_xid (app->priv->windows->data));
           if (app->priv->name)
             {
               app->priv->name_window = app->priv->windows->data;
diff --git a/libwnck/window.c b/libwnck/window.c
index 28fc13d..69a6ceb 100644
--- a/libwnck/window.c
+++ b/libwnck/window.c
@@ -3062,7 +3062,8 @@ update_wmclass (WnckWindow *window)
   window->priv->res_class = NULL;
   window->priv->res_name = NULL;
 
-  _wnck_get_wmclass (window->priv->xwindow,
+  _wnck_get_wmclass (WNCK_SCREEN_XSCREEN (window->priv->screen),
+                     window->priv->xwindow,
                      &window->priv->res_class,
                      &window->priv->res_name);
 }
diff --git a/libwnck/xutils.c b/libwnck/xutils.c
index efd140a..9054484 100644
--- a/libwnck/xutils.c
+++ b/libwnck/xutils.c
@@ -1265,30 +1265,34 @@ latin1_to_utf8 (const char *latin1)
 }
 
 char*
-_wnck_get_res_class_utf8 (Window xwindow)
+_wnck_get_res_class_utf8 (Screen *screen,
+                          Window  xwindow)
 {
   char *res_class;
 
-  _wnck_get_wmclass (xwindow, &res_class, NULL);
+  _wnck_get_wmclass (screen, xwindow, &res_class, NULL);
 
   return res_class;
 }
 
 void
-_wnck_get_wmclass (Window xwindow,
+_wnck_get_wmclass (Screen *screen,
+                   Window  xwindow,
                    char **res_class,
                    char **res_name)
 {
+  Display *display;
   XClassHint ch;
   char *retval;
 
+  display = DisplayOfScreen (screen);
+
   _wnck_error_trap_push ();
 
   ch.res_name = NULL;
   ch.res_class = NULL;
 
-  XGetClassHint (_wnck_get_default_display (), xwindow,
-                 &ch);
+  XGetClassHint (display, xwindow, &ch);
 
   _wnck_error_trap_pop ();
 
diff --git a/libwnck/xutils.h b/libwnck/xutils.h
index 3b061ab..e19f028 100644
--- a/libwnck/xutils.h
+++ b/libwnck/xutils.h
@@ -133,8 +133,10 @@ char*  _wnck_get_name           (Screen *screen,
                                  Window  xwindow);
 char*  _wnck_get_icon_name      (Screen *screen,
                                  Window  xwindow);
-char*  _wnck_get_res_class_utf8 (Window xwindow);
-void   _wnck_get_wmclass        (Window xwindow,
+char*  _wnck_get_res_class_utf8 (Screen *screen,
+                                 Window  xwindow);
+void   _wnck_get_wmclass        (Screen *screen,
+                                 Window  xwindow,
                                  char **res_class,
                                  char **res_name);
 gboolean _wnck_get_frame_extents  (Screen *screen,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]