diff options
author | Silenio Quarti | 2012-11-02 16:18:04 +0000 |
---|---|---|
committer | Silenio Quarti | 2012-11-02 16:18:04 +0000 |
commit | def7357aa0fd63af203e2fbef7f256f6767136f0 (patch) | |
tree | b6802a9933042b795ceb76a085e95ada48e146e9 | |
parent | 7c4680a021c77f40c0e43fe71caac094ec470fa0 (diff) | |
download | eclipse.platform.swt-def7357aa0fd63af203e2fbef7f256f6767136f0.tar.gz eclipse.platform.swt-def7357aa0fd63af203e2fbef7f256f6767136f0.tar.xz eclipse.platform.swt-def7357aa0fd63af203e2fbef7f256f6767136f0.zip |
inline to avoid compiler warnings-> override non public method
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java index ea2a3d7b9e..4151ae6396 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java @@ -584,7 +584,14 @@ public DropTargetEffect getDropTargetEffect() { int getOperationFromKeyState() { int[] state = new int[1]; - gdk_window_get_device_position (0, null, null, state); + if (OS.GTK3) { + long /*int*/ root = OS.gdk_get_default_root_window (); + long /*int*/ device_manager = OS.gdk_display_get_device_manager (OS.gdk_window_get_display (root)); + long /*int*/ pointer = OS.gdk_device_manager_get_client_pointer (device_manager); + OS.gdk_window_get_device_position(root, pointer, null, null, state); + } else { + OS.gdk_window_get_pointer(0, null, null, state); + } boolean ctrl = (state[0] & OS.GDK_CONTROL_MASK) != 0; boolean shift = (state[0] & OS.GDK_SHIFT_MASK) != 0; if (ctrl && shift) return DND.DROP_LINK; @@ -835,21 +842,4 @@ void updateDragOverHover(long delay, DNDEvent event) { dragOverEvent.time = event.time; } -long /*int*/ gdk_window_get_device_position (long /*int*/ window, int[] x, int[] y, int[] mask) { - if (OS.GTK3) { - long /*int*/ display = 0; - if( window != 0) { - display = OS.gdk_window_get_display (window); - } else { - window = OS.gdk_get_default_root_window (); - display = OS.gdk_window_get_display (window); - } - long /*int*/ device_manager = OS.gdk_display_get_device_manager (display); - long /*int*/ pointer = OS.gdk_device_manager_get_client_pointer (device_manager); - return OS.gdk_window_get_device_position(window, pointer, x, y, mask); - } else { - return OS.gdk_window_get_pointer (window, x, y, mask); - } -} - } |