summaryrefslogtreecommitdiff
path: root/src/fl_dnd_x.cxx
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-03-07 11:06:24 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-03-07 11:06:24 +0100
commit7f60f019d77697c5e4e3a46f9571e1a25328b4b3 (patch)
treea15af546ffa837e02e8f3e306c55e3fb427d6a5f /src/fl_dnd_x.cxx
parent6acda521ccaa448eeb26f81a2432da586bed9b30 (diff)
Fix "fltk autotools build does not link against libXft" (#1202)
libXft was erroneously present in the link command when using Pango and Cairo. This is fixed by disconnecting the GUI scaling code from use of Xft. This commit also makes sure that when Wayland is used, pkg-config is available on the build machine. This allows to remove from file CMake/options.cmake code that was labelled with "FIXME".
Diffstat (limited to 'src/fl_dnd_x.cxx')
-rw-r--r--src/fl_dnd_x.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/fl_dnd_x.cxx b/src/fl_dnd_x.cxx
index f48ac599e..be5d18557 100644
--- a/src/fl_dnd_x.cxx
+++ b/src/fl_dnd_x.cxx
@@ -1,7 +1,7 @@
//
// Drag & Drop code for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2023 by Bill Spitzak and others.
+// Copyright 1998-2025 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -106,7 +106,7 @@ int Fl_X11_Screen_Driver::dnd(int unused) {
if ((new_local_window = fl_find(child))) break;
if ((new_version = dnd_aware(new_window))) break;
}
-#if USE_XFT
+#if USE_XFT || FLTK_USE_CAIRO
if (new_local_window) {
float s = Fl::screen_driver()->scale(Fl_Window_Driver::driver(new_local_window)->screen_num());
Fl::e_x_root /= s;
@@ -158,7 +158,7 @@ int Fl_X11_Screen_Driver::dnd(int unused) {
local_handle(FL_DND_DRAG, local_window);
} else if (dndversion) {
int exroot = Fl::e_x_root, eyroot = Fl::e_y_root;
-#if USE_XFT
+#if USE_XFT || FLTK_USE_CAIRO
Fl_Window *target = fl_find(target_window);
if (target) {
float s = Fl::screen_driver()->scale(Fl_Window_Driver::driver(target)->screen_num());
@@ -189,7 +189,7 @@ int Fl_X11_Screen_Driver::dnd(int unused) {
msg.x = dest_x;
msg.y = dest_y;
float s = 1;
-#if USE_XFT
+#if USE_XFT || FLTK_USE_CAIRO
Fl_Window *target = fl_find(target_window);
if (target) s = Fl::screen_driver()->scale(Fl_Window_Driver::driver(target)->screen_num());
#endif