Fix T67756: File drag starts on file browser open
When the file browser was opened (from a temporary window since the file browser redesign) using a button in the UI, under certain conditions moving the mouse would trigger files to be dragged. Note that this has been an issue before the new file browser design was introduced, although under slightly different conditions. Steps to reproduce: * With factory settings, press F12 * Open a different image in the appearing Image Editor (not Render Result) * Make sure the window is not maximized * Press N to open the side bar, open Image tab * Click the folder icon there to change the image * Change to thumbnail display type in the appearing file browser * Cancel, click the folder icon again Moving the mouse now would start dragging files in most cases. The same issue could be reproduced in a similar way when installing lights/MatCaps or HDRIs through Preferences -> Lights -> Install...
This commit is contained in:
parent
5de51b46b6
commit
e7476b667e
Notes:
blender-bot
2023-02-14 09:02:40 +01:00
Referenced by issue #67756, Strange drag-drop when opening an image from the shader editor and the open dialog is in thumbnail mode
|
@ -4299,7 +4299,7 @@ static int ui_do_but_EXIT(bContext *C, uiBut *but, uiHandleButtonData *data, con
|
|||
if (data->state == BUTTON_STATE_HIGHLIGHT) {
|
||||
|
||||
/* first handle click on icondrag type button */
|
||||
if (event->type == LEFTMOUSE && but->dragpoin) {
|
||||
if ((event->type == LEFTMOUSE) && (event->val == KM_PRESS) && but->dragpoin) {
|
||||
if (ui_but_contains_point_px_icon(but, data->region, event)) {
|
||||
|
||||
/* tell the button to wait and keep checking further events to
|
||||
|
@ -4311,7 +4311,7 @@ static int ui_do_but_EXIT(bContext *C, uiBut *but, uiHandleButtonData *data, con
|
|||
}
|
||||
}
|
||||
#ifdef USE_DRAG_TOGGLE
|
||||
if (event->type == LEFTMOUSE && ui_but_is_drag_toggle(but)) {
|
||||
if ((event->type == LEFTMOUSE) && (event->val == KM_PRESS) && ui_but_is_drag_toggle(but)) {
|
||||
button_activate_state(C, but, BUTTON_STATE_WAIT_DRAG);
|
||||
data->dragstartx = event->x;
|
||||
data->dragstarty = event->y;
|
||||
|
|
Loading…
Reference in New Issue