diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-03-15 10:38:06 +0000 |
---|---|---|
committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-03-15 13:00:05 +0000 |
commit | 93ec03fe40e249877a1d5ee1fab1b2235563bc0c (patch) | |
tree | 58c01bb2c55d5f0050ca72875fdac0c5597cccda | |
parent | f0bc2c68ac003f09afe0ae89f12cb4ea5026f73f (diff) |
Resolves: rhbz#906137 slide show inverts outputs
we go to some effort to determine the right value of ret
and then throw it away and return 0
regression since 4a7e3482912c90b73d6e12c82bcd9ce31975e3f1
Change-Id: I652cfbe44fdab6560c1c8dc8fe25d6211b5357cb
Related: rhbz#906137 g_module_symbol returned nothing
for gdk_screen_get_primary_monitor but osl_getAsciiFunctionSymbol does the
right thing
Change-Id: Ibf1a17724a9393d95c4fbe0d26aa82148eea33a9
Reviewed-on: https://gerrit.libreoffice.org/2746
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
-rw-r--r-- | vcl/unx/gtk/app/gtksys.cxx | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/vcl/unx/gtk/app/gtksys.cxx b/vcl/unx/gtk/app/gtksys.cxx index cc921b87fb4f..4c3abf17f404 100644 --- a/vcl/unx/gtk/app/gtksys.cxx +++ b/vcl/unx/gtk/app/gtksys.cxx @@ -28,7 +28,6 @@ * instead of those above. */ #include <string.h> -#include <gmodule.h> #include <gtk/gtk.h> #include <unx/gtk/gtkinst.hxx> #include <unx/gtk/gtksys.hxx> @@ -190,14 +189,14 @@ namespace { static int _fallback_get_primary_monitor (GdkScreen *pScreen) { // Use monitor name as primacy heuristic - int ret = -1; int max = gdk_screen_get_n_monitors (pScreen); - for (int i = 0; i < max && ret < 0; i++) + for (int i = 0; i < max; ++i) { char *name = gdk_screen_get_monitor_plug_name (pScreen, i); - if (name && !g_ascii_strncasecmp (name, "LVDS", 4)) - ret = i; + bool bLaptop = (name && !g_ascii_strncasecmp (name, "LVDS", 4)); g_free (name); + if (bLaptop) + return i; } return 0; } @@ -212,11 +211,8 @@ static int _get_primary_monitor (GdkScreen *pScreen) // Perhaps we have a newer gtk+ with this symbol: if (!get_fn) { - GModule *module = g_module_open (NULL, (GModuleFlags) 0); - if (!g_module_symbol (module, "gdk_screen_get_primary_monitor", - (gpointer *)&get_fn)) - get_fn = NULL; - g_module_close (module); + get_fn = (int(*)(GdkScreen*))osl_getAsciiFunctionSymbol(NULL, + "gdk_screen_get_primary_monitor"); } #if GTK_CHECK_VERSION(2,14,0) if (!get_fn) |