[Xfce4-commits] [xfce/xfdesktop] 01/02: Replace deprecated functions

noreply at xfce.org noreply at xfce.org
Sun Mar 17 17:08:07 CET 2019


This is an automated email from the git hooks/post-receive script.

a   n   d   r   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfdesktop.

commit 330d3f59e67f28c6cda379c4702d26b6ea18da1b
Author: Andre Miranda <andreldm at xfce.org>
Date:   Sun Mar 17 13:07:38 2019 -0300

    Replace deprecated functions
---
 common/xfdesktop-common.c | 32 ++++++++++++++++++++++++++++++++
 common/xfdesktop-common.h |  4 ++++
 src/xfce-desktop.c        | 13 +++++--------
 src/xfdesktop-icon-view.c | 14 +++++++-------
 4 files changed, 48 insertions(+), 15 deletions(-)

diff --git a/common/xfdesktop-common.c b/common/xfdesktop-common.c
index 00fd729..db2011c 100644
--- a/common/xfdesktop-common.c
+++ b/common/xfdesktop-common.c
@@ -254,6 +254,38 @@ xfdesktop_menu_create_menu_item_with_mnemonic(const gchar *name,
 
 
 
+/* Replacement for gdk_screen_width/gdk_screen_height */
+void
+xfdesktop_get_screen_dimensions (GdkScreen *screen,
+                                 gint      *width,
+                                 gint      *height)
+{
+    gint x, y, w, h;
+    GdkDisplay *display = gdk_screen_get_display(screen);
+    int num_monitors = gdk_display_get_n_monitors(display);
+
+    x = y = G_MAXINT;
+    w = h = G_MININT;
+
+    for(int i = 0; i < num_monitors; i++) {
+        GdkRectangle rect;
+        GdkMonitor *monitor = gdk_display_get_monitor(display, i);
+        gdk_monitor_get_geometry(monitor, &rect);
+
+        x = MIN(x, rect.x);
+        y = MIN(y, rect.y);
+        w = MAX(w, rect.x + rect.width);
+        h = MAX(h, rect.y + rect.height);
+    }
+
+    if(width != NULL)
+        *width = w - x;
+    if(height != NULL)
+        *height = h - y;
+}
+
+
+
 #ifdef G_ENABLE_DEBUG
 /* With --enable-debug=full turn on debugging messages from the start */
 static gboolean enable_debug = TRUE;
diff --git a/common/xfdesktop-common.h b/common/xfdesktop-common.h
index 420f730..42d2931 100644
--- a/common/xfdesktop-common.h
+++ b/common/xfdesktop-common.h
@@ -108,6 +108,10 @@ GtkWidget* xfdesktop_menu_create_menu_item_with_markup(const gchar *name,
 GtkWidget* xfdesktop_menu_create_menu_item_with_mnemonic(const gchar *name,
                                                          GtkWidget   *image);
 
+void xfdesktop_get_screen_dimensions(GdkScreen *gcreen,
+                                     gint      *width,
+                                     gint      *height);
+
 #if defined(G_HAVE_ISO_VARARGS)
 
 #define XF_DEBUG(...) xfdesktop_debug (__func__, __FILE__, __LINE__, __VA_ARGS__)
diff --git a/src/xfce-desktop.c b/src/xfce-desktop.c
index 2ae95bd..e84ce5d 100644
--- a/src/xfce-desktop.c
+++ b/src/xfce-desktop.c
@@ -361,8 +361,7 @@ create_bg_surface(GdkScreen *gscreen, gpointer user_data)
 
     TRACE("really entering");
 
-    w = gdk_screen_get_width(gscreen);
-    h = gdk_screen_get_height(gscreen);
+    xfdesktop_get_screen_dimensions (gscreen, &w, &h);
     gtk_widget_set_size_request(GTK_WIDGET(desktop), w, h);
     gtk_window_resize(GTK_WINDOW(desktop), w, h);
 
@@ -523,8 +522,7 @@ backdrop_changed_cb(XfceBackdrop *backdrop, gpointer user_data)
                 rect.y = monitor_rect.y;
         }
 
-        rect.width = gdk_screen_get_width(gscreen);
-        rect.height = gdk_screen_get_height(gscreen);
+        xfdesktop_get_screen_dimensions (gscreen, &rect.width, &rect.height);
         XF_DEBUG("xinerama_stretch x %d, y %d, width %d, height %d",
                  rect.x, rect.y, rect.width, rect.height);
     } else {
@@ -836,7 +834,7 @@ screen_set_selection(XfceDesktop *desktop)
     Atom selection_atom, common_selection_atom, manager_atom;
 
     xwin = GDK_WINDOW_XID(gtk_widget_get_window(GTK_WIDGET(desktop)));
-    xscreen = gdk_screen_get_number(desktop->priv->gscreen);
+    xscreen = gdk_x11_screen_get_screen_number(desktop->priv->gscreen);
 
     g_snprintf(selection_name, 100, XFDESKTOP_SELECTION_FMT, xscreen);
     selection_atom = XInternAtom(gdk_x11_get_default_xdisplay(), selection_name, False);
@@ -1158,8 +1156,7 @@ xfce_desktop_realize(GtkWidget *widget)
     TRACE("entering");
 
     gtk_window_set_screen(GTK_WINDOW(desktop), desktop->priv->gscreen);
-    sw = gdk_screen_get_width(desktop->priv->gscreen);
-    sh = gdk_screen_get_height(desktop->priv->gscreen);
+    xfdesktop_get_screen_dimensions (desktop->priv->gscreen, &sw, &sh);
 
     g_signal_connect(G_OBJECT(desktop->priv->gscreen),
                      "monitors-changed",
@@ -1195,7 +1192,7 @@ xfce_desktop_realize(GtkWidget *widget)
 
     screen_set_selection(desktop);
 
-    wnck_screen = wnck_screen_get(gdk_screen_get_number(desktop->priv->gscreen));
+    wnck_screen = wnck_screen_get(gdk_x11_screen_get_screen_number(desktop->priv->gscreen));
     desktop->priv->wnck_screen = wnck_screen;
 
     /* Watch for single workspace setting changes */
diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c
index a8335f9..732bac9 100644
--- a/src/xfdesktop-icon-view.c
+++ b/src/xfdesktop-icon-view.c
@@ -2642,8 +2642,7 @@ xfdesktop_setup_grids(XfdesktopIconView *icon_view)
                                             &xorigin, &yorigin,
                                             &width, &height)) {
         monitor = gdk_display_get_monitor_at_window (display, gtk_widget_get_parent_window(GTK_WIDGET(icon_view)));
-        width = gdk_screen_get_width(screen);
-        height = gdk_screen_get_height(screen);
+        xfdesktop_get_screen_dimensions (screen, &width, &height);
         xorigin = yorigin = 0;
     }
 
@@ -3321,8 +3320,7 @@ xfdesktop_grid_do_resize(XfdesktopIconView *icon_view)
                                            &xorigin, &yorigin,
                                            &width, &height))
     {
-        width = gdk_screen_get_width(screen);
-        height = gdk_screen_get_height(screen);
+        xfdesktop_get_screen_dimensions (screen, &width, &height);
     }
 
     new_rows = (width - MIN_MARGIN * 2) / CELL_SIZE;
@@ -3376,6 +3374,7 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
 {
     gboolean ret = FALSE;
     GdkScreen *gscreen;
+    GdkDisplay *gdisplay;
     Display *dpy;
     Window root;
     Atom property, actual_type = None;
@@ -3387,13 +3386,14 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
                          && width && height, FALSE);
 
     gscreen = gtk_widget_get_screen(GTK_WIDGET(icon_view));
-    dpy = GDK_DISPLAY_XDISPLAY(gdk_screen_get_display(gscreen));
+    gdisplay = gdk_screen_get_display(gscreen);
+    dpy = GDK_DISPLAY_XDISPLAY(gdisplay);
     root = GDK_WINDOW_XID(gdk_screen_get_root_window(gscreen));
     property = XInternAtom(dpy, "_NET_WORKAREA", False);
 
     first_id = ws_num * 4;
 
-    gdk_error_trap_push();
+    gdk_x11_display_error_trap_push(gdisplay);
 
     do {
         if(Success == XGetWindowProperty(dpy, root, property, offset,
@@ -3441,7 +3441,7 @@ xfdesktop_get_workarea_single(XfdesktopIconView *icon_view,
             break;
     } while(bytes_after > 0);
 
-    gdk_error_trap_pop_ignored();
+    gdk_x11_display_error_trap_pop_ignored(gdisplay);
 
     return ret;
 }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list