Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-02-22 06:07:02 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-22 06:07:02 +0400
commit543b57fbeb6592421d3f133d4d40cc161a46894c (patch)
tree06381d4ba3e5f3dbcc0412a04c1e7dba986ce9a9 /source/blender/editors/interface/interface_panel.c
parentb7fa08f88a260bbd9008c11875cb14052d6c7eb1 (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.c7
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);
}