[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57562] trunk/blender/source/blender/ editors/interface/interface_handlers.c: fix [#35792] Submenus not opening properly on mouse move
Campbell Barton
ideasman42 at gmail.com
Wed Jun 19 08:01:39 CEST 2013
Revision: 57562
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57562
Author: campbellbarton
Date: 2013-06-19 06:01:38 +0000 (Wed, 19 Jun 2013)
Log Message:
-----------
fix [#35792] Submenus not opening properly on mouse move
caused by own fix for [#35346], now only apply wiggle room for toplevel menus.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-06-19 05:17:31 UTC (rev 57561)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2013-06-19 06:01:38 UTC (rev 57562)
@@ -6581,7 +6581,8 @@
ui_mouse_motion_towards_init_ex(menu, xy, true);
}
-static bool ui_mouse_motion_towards_check(uiBlock *block, uiPopupBlockHandle *menu, const int xy[2])
+static bool ui_mouse_motion_towards_check(uiBlock *block, uiPopupBlockHandle *menu, const int xy[2],
+ const bool use_wiggle_room)
{
float p1[2], p2[2], p3[2], p4[2];
float oldp[2] = {menu->towards_xy[0], menu->towards_xy[1]};
@@ -6615,8 +6616,8 @@
p4[1] = rect_px.ymax + margin;
/* allow for some wiggle room, if the user moves a few pixels away,
- * don't immediately quit */
- {
+ * don't immediately quit (only for top level menus) */
+ if (use_wiggle_room) {
const float cent[2] = {
BLI_rctf_cent_x(&rect_px),
BLI_rctf_cent_y(&rect_px)};
@@ -7130,7 +7131,7 @@
menu->menuretval = UI_RETURN_CANCEL | UI_RETURN_POPUP_OK;
}
else {
- ui_mouse_motion_towards_check(block, menu, &event->x);
+ ui_mouse_motion_towards_check(block, menu, &event->x, (level == 0));
/* check mouse moving outside of the menu */
if (inside == 0 && (block->flag & UI_BLOCK_MOVEMOUSE_QUIT)) {
More information about the Bf-blender-cvs
mailing list