[gtk+] gdk: factor out utility shared among backends



commit f73e7680ed1a29be2f13350b29d180ea9cfbcbec
Author: Paolo Borelli <pborelli gnome org>
Date:   Sat Feb 27 10:46:59 2016 +0100

    gdk: factor out utility shared among backends
    
    Removes duplicated code and makes sure we use the version which
    is safe against infinite loops

 gdk/broadway/gdkvisual-broadway.c |   32 --------------------------------
 gdk/gdkvisual.c                   |   27 +++++++++++++++++++++++++++
 gdk/gdkvisualprivate.h            |    4 ++++
 gdk/quartz/gdkvisual-quartz.c     |   21 ---------------------
 gdk/win32/gdkvisual-win32.c       |   25 -------------------------
 gdk/x11/gdkvisual-x11.c           |   30 ------------------------------
 6 files changed, 31 insertions(+), 108 deletions(-)
---
diff --git a/gdk/broadway/gdkvisual-broadway.c b/gdk/broadway/gdkvisual-broadway.c
index bad78d5..6ea2fab 100644
--- a/gdk/broadway/gdkvisual-broadway.c
+++ b/gdk/broadway/gdkvisual-broadway.c
@@ -40,11 +40,6 @@ struct _GdkBroadwayVisualClass
   GObjectClass parent_class;
 };
 
-static void     gdk_visual_decompose_mask (gulong     mask,
-                                          gint      *shift,
-                                          gint      *prec);
-
-
 G_DEFINE_TYPE (GdkBroadwayVisual, gdk_broadway_visual, GDK_TYPE_VISUAL)
 
 static void
@@ -259,30 +254,3 @@ _gdk_broadway_screen_list_visuals (GdkScreen *screen)
 
   return list;
 }
-
-static void
-gdk_visual_decompose_mask (gulong  mask,
-                          gint   *shift,
-                          gint   *prec)
-{
-  *shift = 0;
-  *prec = 0;
-
-  if (mask == 0)
-    {
-      g_warning ("Mask is 0 in visual. Server bug ?");
-      return;
-    }
-
-  while (!(mask & 0x1))
-    {
-      (*shift)++;
-      mask >>= 1;
-    }
-
-  while (mask & 0x1)
-    {
-      (*prec)++;
-      mask >>= 1;
-    }
-}
diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c
index 64d1ce0..3539e40 100644
--- a/gdk/gdkvisual.c
+++ b/gdk/gdkvisual.c
@@ -467,3 +467,30 @@ gdk_visual_get_screen (GdkVisual *visual)
 
   return visual->screen;
 }
+
+void
+gdk_visual_decompose_mask (gulong  mask,
+                           gint   *shift,
+                           gint   *prec)
+{
+  *shift = 0;
+  *prec = 0;
+
+  if (mask == 0)
+    {
+      g_warning ("Mask is 0 in visual. Server bug ?");
+      return;
+    }
+
+  while (!(mask & 0x1))
+    {
+      (*shift)++;
+      mask >>= 1;
+    }
+
+  while (mask & 0x1)
+    {
+      (*prec)++;
+      mask >>= 1;
+    }
+}
diff --git a/gdk/gdkvisualprivate.h b/gdk/gdkvisualprivate.h
index e970f55..3375f23 100644
--- a/gdk/gdkvisualprivate.h
+++ b/gdk/gdkvisualprivate.h
@@ -59,6 +59,10 @@ struct _GdkVisualClass
   GObjectClass parent_class;
 };
 
+void        gdk_visual_decompose_mask       (gulong  mask,
+                                             gint   *shift,
+                                             gint   *prec);
+
 G_END_DECLS
 
 #endif
diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c
index ff0032b..9f52e6e 100644
--- a/gdk/quartz/gdkvisual-quartz.c
+++ b/gdk/quartz/gdkvisual-quartz.c
@@ -38,27 +38,6 @@ static GdkVisual *system_visual;
 static GdkVisual *rgba_visual;
 static GdkVisual *gray_visual;
 
-static void
-gdk_visual_decompose_mask (gulong  mask,
-                          gint   *shift,
-                          gint   *prec)
-{
-  *shift = 0;
-  *prec = 0;
-
-  while (!(mask & 0x1))
-    {
-      (*shift)++;
-      mask >>= 1;
-    }
-
-  while (mask & 0x1)
-    {
-      (*prec)++;
-      mask >>= 1;
-    }
-}
-
 static GdkVisual *
 create_standard_visual (GdkScreen *screen,
                         gint       depth)
diff --git a/gdk/win32/gdkvisual-win32.c b/gdk/win32/gdkvisual-win32.c
index a2dce05..fd2a7f9 100644
--- a/gdk/win32/gdkvisual-win32.c
+++ b/gdk/win32/gdkvisual-win32.c
@@ -31,10 +31,6 @@
 #include "gdkprivate-win32.h"
 #include "gdkvisualprivate.h"
 
-static void  gdk_visual_decompose_mask (gulong     mask,
-                                       gint      *shift,
-                                       gint      *prec);
-
 static GdkVisual *system_visual = NULL;
 static GdkVisual *rgba_visual = NULL;
 
@@ -353,24 +349,3 @@ _gdk_win32_screen_list_visuals (GdkScreen *screen)
 
   return result;
 }
-
-static void
-gdk_visual_decompose_mask (gulong  mask,
-                          gint   *shift,
-                          gint   *prec)
-{
-  *shift = 0;
-  *prec = 0;
-
-  while (!(mask & 0x1))
-    {
-      (*shift)++;
-      mask >>= 1;
-    }
-
-  while (mask & 0x1)
-    {
-      (*prec)++;
-      mask >>= 1;
-    }
-}
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index e22c4c6..0614fc0 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -45,9 +45,6 @@ struct _GdkX11VisualClass
 };
 
 static void     gdk_visual_add            (GdkVisual *visual);
-static void     gdk_visual_decompose_mask (gulong     mask,
-                                          gint      *shift,
-                                          gint      *prec);
 static guint    gdk_visual_hash           (Visual    *key);
 static gboolean gdk_visual_equal          (Visual    *a,
                                           Visual    *b);
@@ -501,33 +498,6 @@ gdk_visual_add (GdkVisual *visual)
   g_hash_table_insert (x11_screen->visual_hash, GDK_X11_VISUAL (visual)->xvisual, visual);
 }
 
-static void
-gdk_visual_decompose_mask (gulong  mask,
-                           gint   *shift,
-                           gint   *prec)
-{
-  *shift = 0;
-  *prec = 0;
-
-  if (mask == 0)
-    {
-      g_warning ("Mask is 0 in visual. Server bug ?");
-      return;
-    }
-
-  while (!(mask & 0x1))
-    {
-      (*shift)++;
-      mask >>= 1;
-    }
-
-  while (mask & 0x1)
-    {
-      (*prec)++;
-      mask >>= 1;
-    }
-}
-
 static guint
 gdk_visual_hash (Visual *key)
 {


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