]> git.eshelyaron.com Git - emacs.git/commitdiff
Simplify Haiku drag-and-drop implementation
authorPo Lu <luangruo@yahoo.com>
Fri, 1 Apr 2022 03:59:38 +0000 (03:59 +0000)
committerPo Lu <luangruo@yahoo.com>
Fri, 1 Apr 2022 03:59:38 +0000 (03:59 +0000)
* lisp/term/haiku-win.el (x-begin-drag): Bind `mouse-highlight'
to nil.

* src/haikuselect.c (haiku_unwind_drag_message)
(Fhaiku_drag_message):
* src/haikuterm.h (HAVE_CHAR_CACHE_MAX):
* src/xdisp.c (note_mouse_highlight): Delete
`haiku_dnd_in_progress' variable.

lisp/term/haiku-win.el
src/haikuselect.c
src/haikuterm.h
src/xdisp.c

index 738cf56caaa2d633a1af168b0da57485ef2c2533..810feced21279cb9bd15b74af89badbfc31eab19 100644 (file)
@@ -279,6 +279,7 @@ take effect on menu items until the menu bar is updated again."
   (unless haiku-dnd-selection-value
     (error "No local value for XdndSelection"))
   (let ((message nil)
+        (mouse-highlight nil)
         (haiku-signal-invalid-refs nil))
     (dolist (target targets)
       (let ((selection-converter (cdr (assoc (intern target)
index d2582e777f181a02cfba98c515d21cc714e31d1b..f6199ccc1e7eb5137b559b5e69487714df645945 100644 (file)
@@ -27,7 +27,6 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 
 #include <stdlib.h>
 
-bool haiku_dnd_in_progress;
 static void haiku_lisp_to_message (Lisp_Object, void *);
 
 DEFUN ("haiku-selection-data", Fhaiku_selection_data, Shaiku_selection_data,
@@ -728,7 +727,6 @@ static void
 haiku_unwind_drag_message (void *message)
 {
   BMessage_delete (message);
-  haiku_dnd_in_progress = false;
 }
 
 DEFUN ("haiku-drag-message", Fhaiku_drag_message, Shaiku_drag_message,
@@ -776,7 +774,6 @@ ignored if it is dropped on top of FRAME.  */)
   if (!FRAME_VISIBLE_P (f))
     error ("Frame is invisible");
 
-  haiku_dnd_in_progress = true;
   be_message = be_create_simple_message ();
 
   record_unwind_protect_ptr (haiku_unwind_drag_message, be_message);
index 86abcc560c9473fa9954c230f96d8acfa1568127..5f8052f0f99ec311453fb74c29d61c4156a42e59 100644 (file)
@@ -35,7 +35,6 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 #define HAVE_CHAR_CACHE_MAX 65535
 
 extern int popup_activated_p;
-extern bool haiku_dnd_in_progress;
 
 extern void be_app_quit (void);
 
index f6fe3253e98c94fc81e0d1757585e116e211bf6e..62c8f9d4d9317a3878f910d0f87b121398c6b6b8 100644 (file)
@@ -34247,7 +34247,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
 #endif
 
 #if defined (HAVE_HAIKU)
-  if (popup_activated_p || haiku_dnd_in_progress)
+  if (popup_activated_p)
     return;
 #endif