]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Remove the VMTOOLS_USE_LEGACY_GTK macro now that GTK4 support has been added.
authorKruti Pendharkar <kp025370@broadcom.com>
Wed, 10 Dec 2025 05:31:19 +0000 (21:31 -0800)
committerKruti Pendharkar <kp025370@broadcom.com>
Wed, 10 Dec 2025 05:31:19 +0000 (21:31 -0800)
open-vm-tools/services/plugins/desktopEvents/x11Lock.c
open-vm-tools/services/plugins/dndcp/copyPasteCompatX11.c
open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp
open-vm-tools/services/plugins/dndcp/copyPasteUIX11.cpp
open-vm-tools/services/plugins/dndcp/copyPasteUIX11.h
open-vm-tools/services/plugins/dndcp/dndGuestBase/copyPasteDnDX11.h
open-vm-tools/services/plugins/dndcp/dndPluginIntX11.h

index 3e7e5c8c5c40c6195db8d7ea47b4d276ba65d67d..a603a5ef434bcce09771da035745f29cb7b3464e 100644 (file)
@@ -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
 #include <string.h>
 #include <gtk/gtk.h>
 #include <X11/Xlib.h>
-#if GTK_MAJOR_VERSION == 4
+#ifdef GTK4
 #include <gdk/x11/gdkx.h>
 #else
 #include <gdk/gdkx.h>
 #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;
 }
-
index 337621efab58375f6174e14e15d0035107916313..d79e3f115b93c89312253fa3e104cf1ad5260150 100644 (file)
@@ -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"
index 4082108b1bef93f005349a95a73bad6af374dc18..d45f1bcfcc6de0f9c8de7f85a9c2eec08ee50377 100644 (file)
  */
 
 #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
 
    }
index a4580eeca131b15ddc1dfd4338a3376df39b8a00..cb25cb397afc524ce08ed448ae49b4c411b5048e 100644 (file)
@@ -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"
 
index 44fab3213384959cce0232e0acff345b9389b77d..90a2cbeeb7084eec8f817603946fcb6e38693a99 100644 (file)
@@ -63,13 +63,9 @@ extern "C" {
 #include <X11/Xlib.h>
 #include <gtk/gtk.h>
 
-#define VMTOOLS_USE_LEGACY_GTK
-
 #ifdef GTK4
-#undef VMTOOLS_USE_LEGACY_GTK
 #include <gdk/x11/gdkx.h>
-#endif
-#ifdef VMTOOLS_USE_LEGACY_GTK
+#else
 #include <gdk/gdkx.h>
 #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<Gdk::Clipboard>& 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<Gdk::Clipboard> mDftClipboardPtr;
    Glib::RefPtr<Gdk::Clipboard> mPrimClipboardPtr;
    Glib::RefPtr<Gio::InputStream> mCpStream;
-#endif
-#ifdef VMTOOLS_USE_LEGACY_GTK
+#else
    std::vector<Gtk::TargetEntry> 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;
index ed3b2c5e577ce07a664ed31b459377e71d20e38a..7e80bf81e96e9f0e9c25edf20cfd29a849db602f 100644 (file)
 #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 <gtkmm/application.h>
 #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
 };
index f60f723cf65b52e8403824ade3d623675bc5a48b..8b3d3ee8189f59fc98e9b66ad0445d8dbb05caa6 100644 (file)
 #ifndef __DNDPLUGIN_INTX11_H__
 #define __DNDPLUGIN_INTX11_H__
 
-#define VMTOOLS_USE_LEGACY_GTK
-
-#ifdef GTK4
-#undef VMTOOLS_USE_LEGACY_GTK
-#endif
-
 #include <X11/Xlib.h>
 #include <gtk/gtk.h>
 #ifdef GTK4
 #include <gdk/x11/gdkx.h>
-#endif
-
-#ifdef VMTOOLS_USE_LEGACY_GTK
+#else
 #include <gdk/gdkx.h>
 #endif