summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-07-25 15:28:14 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-07-26 16:01:46 +0200
commit9e043feb59a082f383f757972ee0b1887f8747bc (patch)
treee7411553fcce0d4baae2e27334de1a343e14abbb
parent98782932280d20ece450fa06a90c202fb8e2a26e (diff)
Related: tdf#102909 gtk3: remove configure loophole of non-native menubar
the ENABLE_DBUS + ENABLE_GIO thing is to allow building against an old gtk2 baseline. If building against gtk3 then gio and dbus are available, and allowing the unusual configure path through gtk3 results in a non-supported cruddy build Change-Id: Ic6306fe2f9951714fd5875c24aedda1d7c6f2b93 Reviewed-on: https://gerrit.libreoffice.org/40420 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--vcl/inc/unx/gtk/gtksalmenu.hxx6
-rw-r--r--vcl/unx/gtk3/gtk3gtkframe.cxx26
2 files changed, 9 insertions, 23 deletions
diff --git a/vcl/inc/unx/gtk/gtksalmenu.hxx b/vcl/inc/unx/gtk/gtksalmenu.hxx
index c303583941b3..3446c774c1df 100644
--- a/vcl/inc/unx/gtk/gtksalmenu.hxx
+++ b/vcl/inc/unx/gtk/gtksalmenu.hxx
@@ -22,7 +22,11 @@
#include <unx/gtk/gtkframe.hxx>
#include <vcl/idle.hxx>
-#if ENABLE_DBUS && ENABLE_GIO && \
+#if GTK_CHECK_VERSION(3,0,0)
+# define ENABLE_GMENU_INTEGRATION
+# include <unx/gtk/glomenu.h>
+# include <unx/gtk/gloactiongroup.h>
+#elif ENABLE_DBUS && ENABLE_GIO && \
(GLIB_MAJOR_VERSION > 2 || GLIB_MINOR_VERSION >= 36)
# define ENABLE_GMENU_INTEGRATION
# include <unx/gtk/glomenu.h>
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 0a87284b504d..1b8448f4609f 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -21,6 +21,8 @@
#include <unx/gtk/gtkdata.hxx>
#include <unx/gtk/gtkinst.hxx>
#include <unx/gtk/gtkgdi.hxx>
+#include <unx/gtk/gtksalmenu.hxx>
+#include <unx/gtk/hudawareness.h>
#include <vcl/help.hxx>
#include <vcl/keycodes.hxx>
#include <vcl/layout.hxx>
@@ -42,13 +44,6 @@
#include <config_gio.h>
-#if ENABLE_DBUS && ENABLE_GIO
-# include <unx/gtk/gtksalmenu.hxx>
-#endif
-#if defined ENABLE_GMENU_INTEGRATION // defined in gtksalmenu.hxx above
-# include <unx/gtk/hudawareness.h>
-#endif
-
#include <gtk/gtk.h>
#include <X11/Xlib.h>
@@ -109,9 +104,7 @@ using namespace com::sun::star;
int GtkSalFrame::m_nFloats = 0;
-#if defined ENABLE_GMENU_INTEGRATION
static GDBusConnection* pSessionBus = nullptr;
-#endif
static sal_uInt16 GetKeyModCode( guint state )
{
@@ -504,8 +497,6 @@ GtkSalFrame::GtkSalFrame( SystemParentData* pSysData )
Init( pSysData );
}
-#ifdef ENABLE_GMENU_INTEGRATION
-
// AppMenu watch functions.
static void ObjectDestroyedNotify( gpointer data )
@@ -765,11 +756,9 @@ void on_registrar_unavailable( GDBusConnection * /*connection*/,
pGtkSalMenu->EnableUnity(false);
}
}
-#endif
void GtkSalFrame::EnsureAppMenuWatch()
{
-#ifdef ENABLE_GMENU_INTEGRATION
if ( !m_nWatcherId )
{
// Get a DBus session connection.
@@ -790,9 +779,6 @@ void GtkSalFrame::EnsureAppMenuWatch()
this,
nullptr );
}
-#else
- (void) this; // loplugin:staticmethods
-#endif
}
void GtkSalFrame::InvalidateGraphics()
@@ -852,15 +838,14 @@ GtkSalFrame::~GtkSalFrame()
gtk_widget_destroy( GTK_WIDGET(m_pTopLevelGrid) );
{
SolarMutexGuard aGuard;
-#if defined ENABLE_GMENU_INTEGRATION
+
if(m_nWatcherId)
g_bus_unwatch_name(m_nWatcherId);
-#endif
+
if( m_pWindow )
{
g_object_set_data( G_OBJECT( m_pWindow ), "SalFrame", nullptr );
-#if defined ENABLE_GMENU_INTEGRATION
if ( pSessionBus )
{
if ( m_nHudAwarenessId )
@@ -874,7 +859,6 @@ GtkSalFrame::~GtkSalFrame()
if ( m_nAppActionGroupExportId )
g_dbus_connection_unexport_action_group( pSessionBus, m_nAppActionGroupExportId );
}
-#endif
gtk_widget_destroy( m_pWindow );
}
}
@@ -1272,10 +1256,8 @@ void GtkSalFrame::Init( SalFrame* pParent, SalFrameStyleFlags nStyle )
if( eWinType == GTK_WINDOW_TOPLEVEL )
{
-#ifdef ENABLE_GMENU_INTEGRATION
// Enable DBus native menu if available.
ensure_dbus_setup( this );
-#endif
}
}