diff options
author | Michael Meeks <michael.meeks@suse.com> | 2011-10-26 16:42:39 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2011-10-26 16:43:15 +0100 |
commit | 10bce0fbf39b80d0859119b005f62accefe7b35b (patch) | |
tree | 72fb7a3558b807023a5b09b4aff66a26000a3f72 /vcl/unx/gtk/app/gtksys.cxx | |
parent | acb921d68bde5189216623238c3c045596cfd804 (diff) |
gtk3: fix another gdk_screen_get_monitor_plug_name instance
Diffstat (limited to 'vcl/unx/gtk/app/gtksys.cxx')
-rw-r--r-- | vcl/unx/gtk/app/gtksys.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/vcl/unx/gtk/app/gtksys.cxx b/vcl/unx/gtk/app/gtksys.cxx index 99624f15ed71..4134b5d229b7 100644 --- a/vcl/unx/gtk/app/gtksys.cxx +++ b/vcl/unx/gtk/app/gtksys.cxx @@ -186,7 +186,23 @@ rtl::OUString GtkSalSystem::GetScreenName(unsigned int nScreen) pScreen = getScreenMonitorFromIdx (mpDisplay, nScreen, nMonitor); if (!pScreen) return rtl::OUString(); + +#if GTK_CHECK_VERSION(3,0,0) || GTK_CHECK_VERSION(2,14,0) pStr = gdk_screen_get_monitor_plug_name (pScreen, nMonitor); +#else + static gchar (*get_fn) (GdkScreen *, int) = NULL; + + GModule *module = g_module_open (NULL, (GModuleFlags) 0); + if (!g_module_symbol (module, "gdk_screen_get_monitor_plug_name", + (gpointer *)&get_fn)) + get_fn = NULL; + g_module_close (module); + + if (get_fn) + pStr = get_fn (pScreen, nMonitor); + else + pStr = g_strdup_printf ("%d", nScreen); +#endif rtl::OUString aRet (pStr, strlen (pStr), RTL_TEXTENCODING_UTF8); g_free (pStr); return aRet; |