[metacity] remove Solaris Xinerama support



commit aef654c8c623132f55c19994c2f59164e2781507
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sat Jun 16 19:12:46 2018 +0300

    remove Solaris Xinerama support
    
    Solaris should work with Xfree Xinerama according to these bugs:
    - https://bugzilla.gnome.org/show_bug.cgi?id=674727
    - https://bugzilla.gnome.org/show_bug.cgi?id=580079

 configure.ac       | 59 ++++++++++++-------------------------------
 src/core/display.c |  6 -----
 src/core/main.c    | 10 --------
 src/core/screen.c  | 73 ++++--------------------------------------------------
 4 files changed, 21 insertions(+), 127 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 5f9e7e91..6c45dddb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -247,7 +247,7 @@ AC_PATH_XTRA
 
 ALL_X_LIBS="-lX11 $X_EXTRA_LIBS"
 
-# Check for Xinerama extension (Solaris impl or Xfree impl)
+# Check for Xinerama extension
 metacity_save_cppflags="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 
@@ -256,47 +256,21 @@ AC_ARG_ENABLE(xinerama,
                  [disable metacity's use of the Xinerama extension]),
   try_xinerama=$enable_xinerama,try_xinerama=yes)
 
-use_solaris_xinerama=no
-use_xfree_xinerama=no
+have_xinerama=no
 if test "${try_xinerama}" != no; then
-    case "$host" in
-        *-*-solaris*)
-            # Check for solaris
-            use_solaris_xinerama=yes
-            AC_CHECK_LIB(Xext, XineramaGetInfo,
-                         use_solaris_xinerama=yes, use_solaris_xinerama=no,
-                         $ALL_X_LIBS)
-            if test "x$use_solaris_xinerama" = "xyes"; then
-                AC_CHECK_HEADER(X11/extensions/xinerama.h,
-                                if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
-                                    X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
-                                fi
-                                AC_DEFINE(HAVE_SOLARIS_XINERAMA, , [Have Solaris-style Xinerama])
-                                AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]),
-                                use_solaris_xinerama=no,
-                                [#include <X11/Xlib.h>])
-            fi 
-            AC_MSG_CHECKING(for Xinerama support on Solaris)
-            AC_MSG_RESULT($use_solaris_xinerama);
-            ;;
-        *)
-            # Check for XFree
-            use_xfree_xinerama=yes
-            AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
-                [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
-                                 X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"   
-                                 if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
-                                     X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
-                                 fi
-                                 AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama])
-                                 AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]), 
-                                 use_xfree_xinerama=no,
-                                 [#include <X11/Xlib.h>])],
-                use_xfree_xinerama=no, -lXext $ALL_X_LIBS)
-            AC_MSG_CHECKING(for Xinerama support on XFree86)
-            AC_MSG_RESULT($use_xfree_xinerama);
-            ;;
-    esac
+    have_xinerama=yes
+    AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+        [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
+                         X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
+                         if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
+                             X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
+                         fi
+                         AC_DEFINE(HAVE_XINERAMA, , [Have the Xinerama extension library]),
+                         have_xinerama=no,
+                         [#include <X11/Xlib.h>])],
+        have_xinerama=no, -lXext $ALL_X_LIBS)
+    AC_MSG_CHECKING([Xinerama])
+    AC_MSG_RESULT($have_xinerama)
 fi
 
 CPPFLAGS="$metacity_save_cppflags"
@@ -437,8 +411,7 @@ echo "  sysconfdir ..................: ${sysconfdir}"
 echo "  libexecdir ..................: ${libexecdir}"
 echo ""
 echo "  Canberra ....................: ${enable_canberra}"
-echo "  XFree86 Xinerama ............: ${use_xfree_xinerama}"
-echo "  Solaris Xinerama ............: ${use_solaris_xinerama}"
+echo "  Xinerama ....................: ${have_xinerama}"
 echo "  Startup notification ........: ${have_startup_notification}"
 echo "  Session management ..........: ${found_sm}"
 echo "  Resize-and-rotate ...........: ${found_randr}"
diff --git a/src/core/display.c b/src/core/display.c
index 9ba48ac7..739e1237 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -51,12 +51,6 @@
 #include <libmetacity/meta-frame-borders.h>
 #include <X11/Xatom.h>
 #include <X11/cursorfont.h>
-#ifdef HAVE_SOLARIS_XINERAMA
-#include <X11/extensions/xinerama.h>
-#endif
-#ifdef HAVE_XFREE_XINERAMA
-#include <X11/extensions/Xinerama.h>
-#endif
 #ifdef HAVE_RANDR
 #include <X11/extensions/Xrandr.h>
 #endif
diff --git a/src/core/main.c b/src/core/main.c
index e5183966..bccbd20f 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -119,16 +119,6 @@ meta_print_compilation_info (void)
 #else
   meta_topic (META_DEBUG_XINERAMA, "Compiled without Xinerama extension\n");
 #endif
-#ifdef HAVE_XFREE_XINERAMA
-  meta_topic (META_DEBUG_XINERAMA, " (using XFree86 Xinerama)\n");
-#else
-  meta_topic (META_DEBUG_XINERAMA, " (not using XFree86 Xinerama)\n");
-#endif
-#ifdef HAVE_SOLARIS_XINERAMA
-  meta_topic (META_DEBUG_XINERAMA, " (using Solaris Xinerama)\n");
-#else
-  meta_topic (META_DEBUG_XINERAMA, " (not using Solaris Xinerama)\n");
-#endif
 #ifdef HAVE_RANDR
   meta_verbose ("Compiled with randr extension\n");
 #else
diff --git a/src/core/screen.c b/src/core/screen.c
index c801f840..c1a2bd50 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -38,10 +38,7 @@
 #include "xprops.h"
 #include "meta-compositor.h"
 
-#ifdef HAVE_SOLARIS_XINERAMA
-#include <X11/extensions/xinerama.h>
-#endif
-#ifdef HAVE_XFREE_XINERAMA
+#ifdef HAVE_XINERAMA
 #include <X11/extensions/Xinerama.h>
 #endif
 
@@ -170,7 +167,7 @@ reload_xinerama_infos (MetaScreen *screen)
 
   screen->display->xinerama_cache_invalidated = TRUE;
 
-#ifdef HAVE_XFREE_XINERAMA
+#ifdef HAVE_XINERAMA
   if (XineramaIsActive (screen->display->xdisplay))
     {
       XineramaScreenInfo *infos;
@@ -215,73 +212,13 @@ reload_xinerama_infos (MetaScreen *screen)
   else
     {
       meta_topic (META_DEBUG_XINERAMA,
-                  "No XFree86 Xinerama extension or XFree86 Xinerama inactive on display %s\n",
-                  screen->display->name);
-    }
-#else
-  meta_topic (META_DEBUG_XINERAMA,
-              "Metacity compiled without XFree86 Xinerama support\n");
-#endif /* HAVE_XFREE_XINERAMA */
-
-#ifdef HAVE_SOLARIS_XINERAMA
-  /* This code from GDK, Copyright (C) 2002 Sun Microsystems */
-  if (screen->n_xinerama_infos == 0 &&
-      XineramaGetState (screen->display->xdisplay,
-                        screen->number))
-    {
-      XRectangle monitors[MAXFRAMEBUFFERS];
-      unsigned char hints[16];
-      int result;
-      int n_monitors;
-      int i;
-
-      n_monitors = 0;
-      result = XineramaGetInfo (screen->display->xdisplay,
-                                screen->number,
-                                monitors, hints,
-                                &n_monitors);
-      /* Yes I know it should be Success but the current implementation
-       * returns the num of monitor
-       */
-      if (result > 0)
-        {
-          g_assert (n_monitors > 0);
-
-          screen->xinerama_infos = g_new (MetaXineramaScreenInfo, n_monitors);
-          screen->n_xinerama_infos = n_monitors;
-
-          i = 0;
-          while (i < n_monitors)
-            {
-              screen->xinerama_infos[i].number = i;
-              screen->xinerama_infos[i].rect.x = monitors[i].x;
-              screen->xinerama_infos[i].rect.y = monitors[i].y;
-              screen->xinerama_infos[i].rect.width = monitors[i].width;
-              screen->xinerama_infos[i].rect.height = monitors[i].height;
-
-              meta_topic (META_DEBUG_XINERAMA,
-                          "Xinerama %d is %d,%d %d x %d\n",
-                          screen->xinerama_infos[i].number,
-                          screen->xinerama_infos[i].rect.x,
-                          screen->xinerama_infos[i].rect.y,
-                          screen->xinerama_infos[i].rect.width,
-                          screen->xinerama_infos[i].rect.height);
-
-              ++i;
-            }
-        }
-    }
-  else if (screen->n_xinerama_infos == 0)
-    {
-      meta_topic (META_DEBUG_XINERAMA,
-                  "No Solaris Xinerama extension or Solaris Xinerama inactive on display %s\n",
+                  "No Xinerama extension or Xinerama inactive on display %s\n",
                   screen->display->name);
     }
 #else
   meta_topic (META_DEBUG_XINERAMA,
-              "Metacity compiled without Solaris Xinerama support\n");
-#endif /* HAVE_SOLARIS_XINERAMA */
-
+              "Metacity compiled without Xinerama support\n");
+#endif /* HAVE_XINERAMA */
 
   /* If no Xinerama, fill in the single screen info so
    * we can use the field unconditionally


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