This errors blender building, needs a return value.
also, this is an rna functions, called by python so take care when
adding checks for specific cases.

+       /* XXX this function is only used by RMB setting hotkeys, and
it clears maps on 2nd try this way */
+       if(keymap==usermap)
+               return;


On Wed, Dec 15, 2010 at 6:09 PM, Ton Roosendaal <t...@blender.org> wrote:
> Revision: 33694
>          
> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33694
> Author:   ton
> Date:     2010-12-15 19:09:25 +0100 (Wed, 15 Dec 2010)
>
> Log Message:
> -----------
> Bugfix, own collection
>
> Using RMB on menus to change hotkeys was broken.
> - the input button was on a weird place outside menu, assign
>  would close pulldown, so you had to reopen to check
> - ESC didn't close the button, but assigned ESC as hotkey.
>  This key is a protected key, and always should be escaping.
> - Worst bug: if you used this on a 'user keymap' it removed
>  all entries from the map...
>
> Modified Paths:
> --------------
>    trunk/blender/source/blender/editors/interface/interface_handlers.c
>    trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
>    trunk/blender/source/blender/windowmanager/wm_event_types.h
>
> Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
> ===================================================================
> --- trunk/blender/source/blender/editors/interface/interface_handlers.c 
> 2010-12-15 17:36:08 UTC (rev 33693)
> +++ trunk/blender/source/blender/editors/interface/interface_handlers.c 
> 2010-12-15 18:09:25 UTC (rev 33694)
> @@ -2081,6 +2081,12 @@
>                                button_activate_state(C, but, 
> BUTTON_STATE_EXIT);
>                                return WM_UI_HANDLER_BREAK;
>                        }
> +                       else if(event->type == ESCKEY) {
> +                               data->cancel= 1;
> +                               data->escapecancel= 1;
> +                               button_activate_state(C, but, 
> BUTTON_STATE_EXIT);
> +                       }
> +
>                }
>        }
>
> @@ -4011,14 +4017,14 @@
>
>        block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
>        uiBlockSetHandleFunc(block, but_shortcut_name_func, but);
> -       uiBlockSetFlag(block, UI_BLOCK_RET_1|UI_BLOCK_MOVEMOUSE_QUIT);
> +       uiBlockSetFlag(block, UI_BLOCK_MOVEMOUSE_QUIT);
>        uiBlockSetDirection(block, UI_CENTER);
>
>        layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 0, 
> 0, 200, 20, style);
>
>        uiItemR(layout, &ptr, "type", 
> UI_ITEM_R_FULL_EVENT|UI_ITEM_R_IMMEDIATE, "", 0);
>
> -       uiPopupBoundsBlock(block, 6, 100, 10);
> +       uiPopupBoundsBlock(block, 6, -50, 26);
>        uiEndBlock(C, block);
>
>        return block;
> @@ -4056,7 +4062,7 @@
>
>        uiItemR(layout, &ptr, "type", 
> UI_ITEM_R_FULL_EVENT|UI_ITEM_R_IMMEDIATE, "", 0);
>
> -       uiPopupBoundsBlock(block, 6, 100, 10);
> +       uiPopupBoundsBlock(block, 6, -50, 26);
>        uiEndBlock(C, block);
>
>        return block;
>
> Modified: trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
> ===================================================================
> --- trunk/blender/source/blender/windowmanager/intern/wm_keymap.c       
> 2010-12-15 17:36:08 UTC (rev 33693)
> +++ trunk/blender/source/blender/windowmanager/intern/wm_keymap.c       
> 2010-12-15 18:09:25 UTC (rev 33694)
> @@ -652,6 +652,10 @@
>
>        usermap= WM_keymap_list_find(&U.keymaps, keymap->idname, 
> keymap->spaceid, keymap->regionid);
>
> +       /* XXX this function is only used by RMB setting hotkeys, and it 
> clears maps on 2nd try this way */
> +       if(keymap==usermap)
> +               return;
> +
>        if(!usermap) {
>                /* not saved yet, duplicate existing */
>                usermap= MEM_dupallocN(keymap);
>
> Modified: trunk/blender/source/blender/windowmanager/wm_event_types.h
> ===================================================================
> --- trunk/blender/source/blender/windowmanager/wm_event_types.h 2010-12-15 
> 17:36:08 UTC (rev 33693)
> +++ trunk/blender/source/blender/windowmanager/wm_event_types.h 2010-12-15 
> 18:09:25 UTC (rev 33694)
> @@ -227,7 +227,7 @@
>  #define ISTWEAK(event) (event >= EVT_TWEAK_L && event <= EVT_GESTURE)
>
>  /* test whether event type is acceptable as hotkey, excluding modifiers */
> -#define ISHOTKEY(event)        ((ISKEYBOARD(event) || ISMOUSE(event)) && 
> !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && !(event>=UNKNOWNKEY && 
> event<=GRLESSKEY))
> +#define ISHOTKEY(event)        ((ISKEYBOARD(event) || ISMOUSE(event)) && 
> event!=ESCKEY && !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && 
> !(event>=UNKNOWNKEY && event<=GRLESSKEY))
>
>  /* **************** BLENDER GESTURE EVENTS (0x5000) **************** */
>
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> bf-blender-...@blender.org
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>



-- 
- Campbell
_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to