x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
if (target != None && x_dnd_last_protocol_version != -1)
x_dnd_send_enter (x_dnd_frame, target,
x_dnd_last_protocol_version);
- else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style))
+ else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
0
#endif
);
- else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None)
+ else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
if (target != None && x_dnd_last_protocol_version != -1)
x_dnd_send_enter (x_dnd_frame, target,
x_dnd_last_protocol_version);
- else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style))
+ else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
x_dnd_selection_timestamp,
x_dnd_wanted_action, 0,
event->xmotion.state);
- else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None)
+ else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
x_dnd_send_leave (x_dnd_frame, x_dnd_last_seen_window);
else if (x_dnd_last_seen_window != None
&& XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag
&& x_dnd_last_seen_window != FRAME_OUTER_WINDOW (x_dnd_frame))
{
if (!x_dnd_motif_setup_p)
if (target != None && x_dnd_last_protocol_version != -1)
x_dnd_send_enter (x_dnd_frame, target,
x_dnd_last_protocol_version);
- else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style))
+ else if (target != None && XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style)
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
x_dnd_wanted_action, 0,
dnd_state);
}
- else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None)
+ else if (XM_DRAG_STYLE_IS_DYNAMIC (x_dnd_last_motif_style) && target != None
+ && !x_dnd_disable_motif_drag)
{
if (!x_dnd_motif_setup_p)
xm_setup_drag_info (dpyinfo, x_dnd_frame);
of Motif. */);
x_dnd_fix_motif_leave = true;
+ DEFVAR_BOOL ("x-dnd-disable-motif-drag", x_dnd_disable_motif_drag,
+ doc: /* Disable the Motif drag protocol during DND.
+This reduces network usage, but also means you can no longer scroll
+around inside the Motif window underneath the cursor during
+drag-and-drop. */);
+ x_dnd_disable_motif_drag = false;
+
DEFVAR_LISP ("x-dnd-movement-function", Vx_dnd_movement_function,
doc: /* Function called upon mouse movement on a frame during drag-and-drop.
It should either be nil, or accept two arguments FRAME and POSITION,