svn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
[blender.git] / source / blender / editors / interface / interface_panel.c
index 72076175ad5707a5833d4e4cc2744ab8f19036f4..a20884a61a39a6906d28573c46d5a3eab810b490 100644 (file)
@@ -104,7 +104,9 @@ static int panel_aligned(ScrArea *sa, ARegion *ar)
                SpaceButs *sbuts= sa->spacedata.first;
                return sbuts->align;
        }
-       else if(ar->regiontype==RGN_TYPE_UI)
+       else if(sa->spacetype==SPACE_FILE && ar->regiontype == RGN_TYPE_CHANNELS)
+               return BUT_VERTICAL;
+       else if(ELEM(ar->regiontype, RGN_TYPE_UI, RGN_TYPE_TOOLS))
                return BUT_VERTICAL;
        
        return 0;
@@ -126,6 +128,8 @@ static int panels_re_align(ScrArea *sa, ARegion *ar, Panel **r_pa)
        }
        else if(ar->regiontype==RGN_TYPE_UI)
                return 1;
+       else if(sa->spacetype==SPACE_FILE && ar->regiontype == RGN_TYPE_CHANNELS)
+               return 1;
 
        /* in case panel is added or disappears */
        for(pa=ar->panels.first; pa; pa=pa->next) {
@@ -1288,6 +1292,7 @@ int ui_handler_panel_region(bContext *C, wmEvent *event)
 
 /**************** window level modal panel interaction **************/
 
+/* note, this is modal handler and should not swallow events for animation */
 static int ui_handler_panel(bContext *C, wmEvent *event, void *userdata)
 {
        Panel *panel= userdata;
@@ -1303,8 +1308,6 @@ static int ui_handler_panel(bContext *C, wmEvent *event, void *userdata)
                        panel_activate_state(C, panel, PANEL_STATE_ANIMATION);
                else
                        panel_activate_state(C, panel, PANEL_STATE_EXIT);
-
-               return WM_UI_HANDLER_BREAK;
        }
        else if(event->type == MOUSEMOVE) {
                if(data->state == PANEL_STATE_WAIT_UNTAB)