summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-06-16 19:12:46 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-06-16 19:24:59 +0300
commitaef654c8c623132f55c19994c2f59164e2781507 (patch)
tree215674a79975a1057fb97c41a4ac2c581bcedb35
parente18f850c461bd4081df91751e74fe401b6d80f31 (diff)
downloadmetacity-aef654c8c623132f55c19994c2f59164e2781507.tar.gz
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
-rw-r--r--configure.ac59
-rw-r--r--src/core/display.c6
-rw-r--r--src/core/main.c10
-rw-r--r--src/core/screen.c73
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