Browse Source

Linux mouse-drag fix.

tags/2021-05-28
jules 12 years ago
parent
commit
a97fb3024d
1 changed files with 4 additions and 32 deletions
  1. +4
    -32
      modules/juce_gui_basics/native/juce_linux_Windowing.cpp

+ 4
- 32
modules/juce_gui_basics/native/juce_linux_Windowing.cpp View File

@@ -1519,41 +1519,13 @@ public:
void handleMotionNotifyEvent (const XPointerMovedEvent& movedEvent)
{
updateKeyModifiers (movedEvent.state);
const Point<int> mousePos (movedEvent.x_root, movedEvent.y_root);
if (lastMousePos != mousePos)
{
lastMousePos = mousePos;
if (parentWindow != 0 && (styleFlags & windowHasTitleBar) == 0)
{
Window wRoot = 0, wParent = 0;
{
ScopedXLock xlock;
unsigned int numChildren;
Window* wChild = nullptr;
XQueryTree (display, windowH, &wRoot, &wParent, &wChild, &numChildren);
}
if (wParent != 0
&& wParent != windowH
&& wParent != wRoot)
{
parentWindow = wParent;
updateBounds();
}
else
{
parentWindow = 0;
}
}
lastMousePos = Point<int> (movedEvent.x_root, movedEvent.y_root);
if (dragState.dragging)
handleExternalDragMotionNotify();
if (dragState.dragging)
handleExternalDragMotionNotify();
handleMouseEvent (0, mousePos - getScreenPosition(), currentModifiers, getEventTime (movedEvent));
}
handleMouseEvent (0, getMousePos (movedEvent), currentModifiers, getEventTime (movedEvent));
}
void handleEnterNotifyEvent (const XEnterWindowEvent& enterEvent)


Loading…
Cancel
Save