summaryrefslogtreecommitdiffstats
path: root/network/dillo/dillo-fltk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'network/dillo/dillo-fltk.patch')
-rw-r--r--network/dillo/dillo-fltk.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/network/dillo/dillo-fltk.patch b/network/dillo/dillo-fltk.patch
new file mode 100644
index 0000000000..1c895709c2
--- /dev/null
+++ b/network/dillo/dillo-fltk.patch
@@ -0,0 +1,69 @@
+
+# HG changeset patch
+# User corvid
+# Date 1416116116 0
+# Node ID a012eab2c0573e2cdcba775bd9a579c3d282003a
+# Parent 8111dadacb406727e791864e89026aaa928965a3
+can't use fl_oldfocus anymore -- this will make focus behaviour somewhat screwy
+
+http://lists.dillo.org/pipermail/dillo-dev/2014-November/010273.html
+
+A couple of months ago, Lauri Kasanen made some changes to fltk's linker
+stuff, and I guess we're seeing the effect here.
+
+As for focus behaviour being screwy, if you click on a page to give it
+focus, then move the cursor away and then back onto the page, it won't
+get focus again -- focus will go to an input or the location bar or
+something.
+
+diff -r 8111dadacb40 -r a012eab2c057 dw/fltkviewbase.cc
+--- a/dw/fltkviewbase.cc Sat Nov 15 01:39:27 2014 +0100
++++ b/dw/fltkviewbase.cc Sun Nov 16 05:35:16 2014 +0000
+@@ -27,8 +27,6 @@
+ #include <stdio.h>
+ #include "../lout/msg.h"
+
+-extern Fl_Widget* fl_oldfocus;
+-
+ using namespace lout::object;
+ using namespace lout::container::typed;
+
+@@ -71,7 +69,7 @@
+ canvasHeight = 1;
+ bgColor = FL_WHITE;
+ mouse_x = mouse_y = 0;
+- focused_child = NULL;
++ // focused_child = NULL;
+ exposeArea = NULL;
+ if (backBuffer == NULL) {
+ backBuffer = new BackBuffer ();
+@@ -357,6 +355,8 @@
+ case FL_LEAVE:
+ theLayout->leaveNotify (this, getDwButtonState ());
+ break;
++#if 0
++ // BUG: starting with fltk-1.3.3, we can't use fl_oldfocus.
+ case FL_FOCUS:
+ if (focused_child && find(focused_child) < children()) {
+ /* strangely, find() == children() if the child is not found */
+@@ -366,6 +366,7 @@
+ case FL_UNFOCUS:
+ focused_child = fl_oldfocus;
+ return 0;
++#endif
+ case FL_KEYBOARD:
+ if (Fl::event_key() == FL_Tab)
+ return manageTabToFocus();
+diff -r 8111dadacb40 -r a012eab2c057 dw/fltkviewbase.hh
+--- a/dw/fltkviewbase.hh Sat Nov 15 01:39:27 2014 +0100
++++ b/dw/fltkviewbase.hh Sun Nov 16 05:35:16 2014 +0000
+@@ -56,7 +56,7 @@
+ core::Layout *theLayout;
+ int canvasWidth, canvasHeight;
+ int mouse_x, mouse_y;
+- Fl_Widget *focused_child;
++ // Fl_Widget *focused_child;
+
+ virtual int translateViewXToCanvasX (int x) = 0;
+ virtual int translateViewYToCanvasY (int y) = 0;
+