diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-02-22 06:07:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-02-22 06:07:02 +0400 |
commit | 543b57fbeb6592421d3f133d4d40cc161a46894c (patch) | |
tree | 06381d4ba3e5f3dbcc0412a04c1e7dba986ce9a9 /source/blender/editors/interface/interface_panel.c | |
parent | b7fa08f88a260bbd9008c11875cb14052d6c7eb1 (diff) |
Fix T38348: Panel remains scrolled when switching tabs
Diffstat (limited to 'source/blender/editors/interface/interface_panel.c')
-rw-r--r-- | source/blender/editors/interface/interface_panel.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c index 3a5d1f6fdf3..fada118e037 100644 --- a/source/blender/editors/interface/interface_panel.c +++ b/source/blender/editors/interface/interface_panel.c @@ -61,6 +61,7 @@ #include "ED_screen.h" +#include "UI_view2d.h" #include "UI_interface.h" #include "UI_interface_icons.h" #include "UI_resources.h" @@ -1638,6 +1639,10 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar) if (pc_dyn) { UI_panel_category_active_set(ar, pc_dyn->idname); ED_region_tag_redraw(ar); + + /* reset scroll to the top [#38348] */ + UI_view2d_offset(&ar->v2d, -1.0f, 1.0f); + retval = WM_UI_HANDLER_BREAK; } } @@ -1652,6 +1657,8 @@ int ui_handler_panel_region(bContext *C, const wmEvent *event, ARegion *ar) if (LIKELY(pc_dyn)) { pc_dyn = (event->type == WHEELDOWNMOUSE) ? pc_dyn->next : pc_dyn->prev; if (pc_dyn) { + /* intentionally don't reset scroll in this case, + * this allows for quick browsing between tabs */ UI_panel_category_active_set(ar, pc_dyn->idname); ED_region_tag_redraw(ar); } |