From: Kruti Pendharkar Date: Wed, 10 Dec 2025 05:31:19 +0000 (-0800) Subject: Remove the VMTOOLS_USE_LEGACY_GTK macro now that GTK4 support has been added. X-Git-Tag: stable-13.1.0~36 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b52fadbff079f3d2c156dff13f8aec940b642e7;p=thirdparty%2Fopen-vm-tools.git Remove the VMTOOLS_USE_LEGACY_GTK macro now that GTK4 support has been added. --- diff --git a/open-vm-tools/services/plugins/desktopEvents/x11Lock.c b/open-vm-tools/services/plugins/desktopEvents/x11Lock.c index 3e7e5c8c5..a603a5ef4 100644 --- a/open-vm-tools/services/plugins/desktopEvents/x11Lock.c +++ b/open-vm-tools/services/plugins/desktopEvents/x11Lock.c @@ -1,5 +1,5 @@ /********************************************************* - * Copyright (c) 2010-2024 Broadcom. All Rights Reserved. + * Copyright (c) 2010-2025 Broadcom. All Rights Reserved. * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * This program is free software; you can redistribute it and/or modify it @@ -31,14 +31,14 @@ #include #include #include -#if GTK_MAJOR_VERSION == 4 +#ifdef GTK4 #include #else #include #endif #define LOCK_ATOM_NAME "vmware-user-lock" -#if GTK_MAJOR_VERSION == 4 +#ifdef GTK4 #define GDK_GET_XDISPLAY(X) gdk_x11_display_get_xdisplay(X) #else #define GDK_GET_XDISPLAY(X) gdk_x11_get_default_xdisplay() @@ -83,7 +83,7 @@ InitGroupLeader(Window *groupLeader, Window myRootWindow; XSetWindowAttributes attr; GdkDisplay *gdkDisplay; -#if GTK_MAJOR_VERSION == 4 +#ifdef GTK4 GdkSurface *gdkLeader; #else GdkWindow *gdkLeader; @@ -95,7 +95,7 @@ InitGroupLeader(Window *groupLeader, ASSERT(rootWindow); gdkDisplay = gdk_display_get_default(); -#if GTK_MAJOR_VERSION == 4 +#ifdef GTK4 gdkLeader = gdk_x11_display_get_default_group(gdkDisplay); myGroupLeader = gdk_x11_surface_get_xid(gdkLeader); /* @@ -107,6 +107,8 @@ InitGroupLeader(Window *groupLeader, gdkLeader = gdk_display_get_default_group(gdkDisplay); myGroupLeader = GDK_WINDOW_XID(gdkLeader); myRootWindow = GDK_ROOT_WINDOW(); + /* set gdkDisplay to NULL for non-GTK4 for GDK_GET_XDISPLAY macro */ + gdkDisplay = NULL; #endif ASSERT(myGroupLeader); @@ -114,7 +116,6 @@ InitGroupLeader(Window *groupLeader, /* XXX: With g_set_prgname() being called, this can probably go away. */ XStoreName(GDK_GET_XDISPLAY(gdkDisplay), myGroupLeader, VMUSER_TITLE); - /* * Confidence check: Set the override redirect property on our group leader * window (not default), then re-parent it to the root window (default). @@ -277,14 +278,13 @@ AcquireDisplayLock(void) unsigned int index; Bool alreadyLocked = FALSE; // Set to TRUE if we discover lock is held. Bool retval = FALSE; - GdkDisplay *gdkDisplay; -#if GTK_MAJOR_VERSION == 4 - gdkDisplay = gdk_display_get_default(); +#ifdef GTK4 + GdkDisplay *gdkDisplay = gdk_display_get_default(); + defaultDisplay = GDK_GET_XDISPLAY(gdkDisplay); #else - gdkDisplay = NULL; + defaultDisplay = gdk_x11_get_default_xdisplay(); #endif - defaultDisplay = GDK_GET_XDISPLAY(gdkDisplay); /* * Reset some of our main window's settings & fetch Xlib handles for @@ -421,6 +421,9 @@ gboolean X11Lock_Init(ToolsAppCtx *ctx, ToolsPluginData *pdata) { +#ifndef GTK4 + int argc = 0; +#endif char *argv[] = { NULL, NULL }; if (!TOOLS_IS_USER_SERVICE(ctx)) { @@ -451,10 +454,9 @@ X11Lock_Init(ToolsAppCtx *ctx, gdk_set_allowed_backends("x11"); #endif /* XXX: is calling gtk_init() multiple times safe? */ -#if GTK_MAJOR_VERSION == 4 +#ifdef GTK4 gtk_init(); #else - int argc = 0; gtk_init(&argc, (char ***) &argv); #endif @@ -466,4 +468,3 @@ X11Lock_Init(ToolsAppCtx *ctx, return TRUE; } - diff --git a/open-vm-tools/services/plugins/dndcp/copyPasteCompatX11.c b/open-vm-tools/services/plugins/dndcp/copyPasteCompatX11.c index 337621efa..d79e3f115 100644 --- a/open-vm-tools/services/plugins/dndcp/copyPasteCompatX11.c +++ b/open-vm-tools/services/plugins/dndcp/copyPasteCompatX11.c @@ -40,9 +40,9 @@ * selection text. */ -# if !defined(GTK2) && !defined(GTK3) -# error "This should only build with GTK2 or GTK3" -# endif +#if !defined(GTK2) && !defined(GTK3) +#error "This should only build with GTK2 or GTK3" +#endif #define G_LOG_DOMAIN "dndcp" #include "dndPluginIntX11.h" diff --git a/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp b/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp index 4082108b1..d45f1bcfc 100644 --- a/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp +++ b/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp @@ -24,14 +24,9 @@ */ #define G_LOG_DOMAIN "dndcp" -#define VMTOOLS_USE_LEGACY_GTK #include "copyPasteDnDWrapper.h" #include "copyPasteDnDX11.h" -#ifdef GTK4 -#undef VMTOOLS_USE_LEGACY_GTK -#include "dndCPMsgV4.h" -#endif #include "copyPasteUIX11.h" #include "tracer.hh" #include "dndPluginIntX11.h" @@ -203,7 +198,7 @@ BlockService::Shutdown() */ CopyPasteDnDX11::CopyPasteDnDX11() : -#ifdef VMTOOLS_USE_LEGACY_GTK +#if defined(GTK2) || defined(GTK3) m_main(NULL), #endif m_copyPasteUI(NULL), @@ -245,9 +240,7 @@ CopyPasteDnDX11::Init(ToolsAppCtx *ctx) #ifdef GTK4 Gtk::Application::create("com.tools.gtk4"); -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK +#else int argc = 1; const char *argv[] = {"", NULL}; m_main = new Gtk::Main(&argc, (char ***) &argv, false); @@ -262,14 +255,13 @@ CopyPasteDnDX11::Init(ToolsAppCtx *ctx) gGdkDisplay = gdk_display_get_default(); gXDisplay = gdk_x11_display_get_xdisplay(gGdkDisplay); gXRoot = gdk_x11_display_get_xrootwindow(gGdkDisplay); -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK - gUserMainWidget = gtk_invisible_new(); -#ifndef GTK3 - gXDisplay = GDK_WINDOW_XDISPLAY(gUserMainWidget->window); #else + gUserMainWidget = gtk_invisible_new(); +#ifdef GTK3 gXDisplay = GDK_WINDOW_XDISPLAY(gtk_widget_get_window(gUserMainWidget)); +#endif +#ifdef GTK2 + gXDisplay = GDK_WINDOW_XDISPLAY(gUserMainWidget->window); #endif gXRoot = RootWindow(gXDisplay, DefaultScreen(gXDisplay)); #endif @@ -293,8 +285,7 @@ CopyPasteDnDX11::~CopyPasteDnDX11() { delete m_copyPasteUI; delete m_dndUI; - -#ifdef VMTOOLS_USE_LEGACY_GTK +#if defined(GTK2) || defined(GTK3) delete m_main; #endif @@ -304,11 +295,10 @@ CopyPasteDnDX11::~CopyPasteDnDX11() CopyPaste_Unregister(gUserMainWidget); if (gUserMainWidget) { -#ifdef VMTOOLS_USE_LEGACY_GTK - gtk_widget_destroy(gUserMainWidget); -#endif #ifdef GTK4 gtk_window_destroy(GTK_WINDOW(gUserMainWidget)); +#else + gtk_widget_destroy(gUserMainWidget); #endif } diff --git a/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.cpp b/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.cpp index a4580eeca..cb25cb397 100644 --- a/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.cpp +++ b/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.cpp @@ -63,9 +63,9 @@ * ignore everything else. */ -# if !defined(GTK2) && !defined(GTK3) -# error "This could only build with GTK2 or GTK3" -# endif +#if !defined(GTK2) && !defined(GTK3) +#error "This could only build with GTK2 or GTK3" +#endif #define G_LOG_DOMAIN "dndcp" diff --git a/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.h b/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.h index 44fab3213..90a2cbeeb 100644 --- a/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.h +++ b/open-vm-tools/services/plugins/dndcp/copyPasteUIX11.h @@ -63,13 +63,9 @@ extern "C" { #include #include -#define VMTOOLS_USE_LEGACY_GTK - #ifdef GTK4 -#undef VMTOOLS_USE_LEGACY_GTK #include -#endif -#ifdef VMTOOLS_USE_LEGACY_GTK +#else #include #endif @@ -120,9 +116,7 @@ private: utf::string post); void LocalSetFileListToClipboard(const char* desktop); void LocalGetFileContentsRequest(); -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK +#else void LocalGetFileRequestCB(Gtk::SelectionData& selection_data, guint info); void LocalGetTextOrRTFRequestCB(Gtk::SelectionData& sd, guint info); void LocalGetSelectionFileList(const Gtk::SelectionData& sd); @@ -145,8 +139,7 @@ private: const Glib::RefPtr& clipboard); void GuestDefaultClipboardChangedCb(); void GuestPrimaryClipboardChangedCb(); -#endif -#ifdef VMTOOLS_USE_LEGACY_GTK +#else void LocalClipboardTimestampCB(const Gtk::SelectionData& sd); void LocalPrimTimestampCB(const Gtk::SelectionData& sd); void LocalReceivedFileListCB(const Gtk::SelectionData& selection_data); @@ -171,8 +164,7 @@ private: Glib::RefPtr mDftClipboardPtr; Glib::RefPtr mPrimClipboardPtr; Glib::RefPtr mCpStream; -#endif -#ifdef VMTOOLS_USE_LEGACY_GTK +#else std::vector mListTargets; GdkAtom mGHSelection; bool mIsClipboardOwner; @@ -191,9 +183,7 @@ private: utf::string mHGCopiedUriListGnome; utf::string mHGCopiedUriListKde; utf::string mHGCopiedUriListNautilus; -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK +#else utf::string mHGCopiedUriList; utf::string mHGTextData; std::string mHGRTFData; diff --git a/open-vm-tools/services/plugins/dndcp/dndGuestBase/copyPasteDnDX11.h b/open-vm-tools/services/plugins/dndcp/dndGuestBase/copyPasteDnDX11.h index ed3b2c5e5..7e80bf81e 100644 --- a/open-vm-tools/services/plugins/dndcp/dndGuestBase/copyPasteDnDX11.h +++ b/open-vm-tools/services/plugins/dndcp/dndGuestBase/copyPasteDnDX11.h @@ -27,20 +27,11 @@ #ifndef __COPYPASTEDNDX11_H__ #define __COPYPASTEDNDX11_H__ -#define VMTOOLS_USE_LEGACY_GTK - -#ifdef GTK4 -#undef VMTOOLS_USE_LEGACY_GTK -#endif - #include "dnd.h" /* for DnDBlockControl */ #ifdef GTK4 #include #include "dndUIX11GTK4.h" - -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK +#else #include "dndUIX11.h" #endif @@ -68,7 +59,7 @@ public: virtual void DnDVersionChanged(int version); virtual void CopyPasteVersionChanged(int version); virtual uint32 GetCaps(); -#ifdef VMTOOLS_USE_LEGACY_GTK +#if defined(GTK2) || defined(GTK3) void SetUnityMode(Bool mode) {m_dndUI->SetUnityMode(mode);}; #endif void SetDnDAllowed(bool allowed); @@ -76,7 +67,7 @@ public: private: CopyPasteUIX11 *m_copyPasteUI; DnDUIX11 *m_dndUI; -#ifdef VMTOOLS_USE_LEGACY_GTK +#if defined(GTK2) || defined(GTK3) Gtk::Main *m_main; #endif }; diff --git a/open-vm-tools/services/plugins/dndcp/dndPluginIntX11.h b/open-vm-tools/services/plugins/dndcp/dndPluginIntX11.h index f60f723cf..8b3d3ee81 100644 --- a/open-vm-tools/services/plugins/dndcp/dndPluginIntX11.h +++ b/open-vm-tools/services/plugins/dndcp/dndPluginIntX11.h @@ -25,19 +25,11 @@ #ifndef __DNDPLUGIN_INTX11_H__ #define __DNDPLUGIN_INTX11_H__ -#define VMTOOLS_USE_LEGACY_GTK - -#ifdef GTK4 -#undef VMTOOLS_USE_LEGACY_GTK -#endif - #include #include #ifdef GTK4 #include -#endif - -#ifdef VMTOOLS_USE_LEGACY_GTK +#else #include #endif