[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara
caolanm at redhat.com
Thu May 19 08:55:25 UTC 2016
vcl/unx/gtk3/gtk3gtkframe.cxx | 12 ++++++++++++
vcl/unx/gtk3/gtk3gtkobject.cxx | 12 ++++++++++++
2 files changed, 24 insertions(+)
New commits:
commit c70a5937e3a2057886c01bc78ac5a6b42e8c702d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu May 19 09:53:21 2016 +0100
gtk3: for x11 case set Display and Visual so opengl slide effects can work
Change-Id: Ib354a3bc0e2069117717068d7cfc02623765a6fa
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 36754f9..7eaa53c 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1088,6 +1088,18 @@ void GtkSalFrame::InitCommon()
m_aSystemData.pAppContext = nullptr;
m_aSystemData.pShellWidget = m_aSystemData.pWidget;
m_aSystemData.pToolkit = "gtk3";
+ GdkScreen* pScreen = gtk_window_get_screen(GTK_WINDOW(m_pWindow));
+ GdkVisual* pVisual = gdk_screen_get_system_visual(pScreen);
+ m_aSystemData.nDepth = gdk_visual_get_depth(pVisual);
+
+#if defined(GDK_WINDOWING_X11)
+ GdkDisplay *pDisplay = getGdkDisplay();
+ if (GDK_IS_X11_DISPLAY(pDisplay))
+ {
+ m_aSystemData.pDisplay = gdk_x11_display_get_xdisplay(pDisplay);
+ m_aSystemData.pVisual = gdk_x11_visual_get_xvisual(pVisual);
+ }
+#endif
m_bGraphics = false;
m_pGraphics = nullptr;
diff --git a/vcl/unx/gtk3/gtk3gtkobject.cxx b/vcl/unx/gtk3/gtk3gtkobject.cxx
index bf3fbbe..1c51b11 100644
--- a/vcl/unx/gtk3/gtk3gtkobject.cxx
+++ b/vcl/unx/gtk3/gtk3gtkobject.cxx
@@ -55,6 +55,18 @@ GtkSalObject::GtkSalObject( GtkSalFrame* pParent, bool bShow )
m_aSystemData.pAppContext = nullptr;
m_aSystemData.pShellWidget = GTK_WIDGET(pParent->getWindow());
m_aSystemData.pToolkit = "gtk3";
+ GdkScreen* pScreen = gtk_window_get_screen(GTK_WINDOW(pParent->getWindow()));
+ GdkVisual* pVisual = gdk_screen_get_system_visual(pScreen);
+ m_aSystemData.nDepth = gdk_visual_get_depth(pVisual);
+
+#if defined(GDK_WINDOWING_X11)
+ GdkDisplay *pDisplay = pParent->getGdkDisplay();
+ if (GDK_IS_X11_DISPLAY(pDisplay))
+ {
+ m_aSystemData.pDisplay = gdk_x11_display_get_xdisplay(pDisplay);
+ m_aSystemData.pVisual = gdk_x11_visual_get_xvisual(pVisual);
+ }
+#endif
g_signal_connect( G_OBJECT(m_pSocket), "button-press-event", G_CALLBACK(signalButton), this );
g_signal_connect( G_OBJECT(m_pSocket), "button-release-event", G_CALLBACK(signalButton), this );
More information about the Libreoffice-commits
mailing list