[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52971] trunk/blender/source/blender/ editors/screen: Bugfix [#33511]

Ton Roosendaal ton at blender.org
Thu Dec 13 13:18:01 CET 2012


Revision: 52971
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52971
Author:   ton
Date:     2012-12-13 12:17:57 +0000 (Thu, 13 Dec 2012)
Log Message:
-----------
Bugfix [#33511] 

Overlapping regions: when dragging the region to close them, it started the blending
timer - which of course is not meant to happen.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/area.c
    trunk/blender/source/blender/editors/screen/screen_intern.h
    trunk/blender/source/blender/editors/screen/screen_ops.c

Modified: trunk/blender/source/blender/editors/screen/area.c
===================================================================
--- trunk/blender/source/blender/editors/screen/area.c	2012-12-13 11:59:07 UTC (rev 52970)
+++ trunk/blender/source/blender/editors/screen/area.c	2012-12-13 12:17:57 UTC (rev 52971)
@@ -1257,25 +1257,32 @@
 	glLoadIdentity();
 }
 
-void ED_region_toggle_hidden(bContext *C, ARegion *ar)
+/* for quick toggle, can skip fades */
+void region_toggle_hidden(bContext *C, ARegion *ar, int do_fade)
 {
 	ScrArea *sa = CTX_wm_area(C);
-
+	
 	ar->flag ^= RGN_FLAG_HIDDEN;
-
-	if (ar->overlap) {
+	
+	if (do_fade && ar->overlap) {
 		/* starts a timer, and in end calls the stuff below itself (region_sblend_invoke()) */
 		region_blend_start(C, sa, ar);
 	}
 	else {
 		if (ar->flag & RGN_FLAG_HIDDEN)
 			WM_event_remove_handlers(C, &ar->handlers);
-
+		
 		ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
 		ED_area_tag_redraw(sa);
 	}
 }
 
+/* exported to all editors, uses fading default */
+void ED_region_toggle_hidden(bContext *C, ARegion *ar)
+{
+	region_toggle_hidden(C, ar, 1);
+}
+
 /* sa2 to sa1, we swap spaces for fullscreen to keep all allocated data */
 /* area vertices were set */
 void area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space)

Modified: trunk/blender/source/blender/editors/screen/screen_intern.h
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_intern.h	2012-12-13 11:59:07 UTC (rev 52970)
+++ trunk/blender/source/blender/editors/screen/screen_intern.h	2012-12-13 12:17:57 UTC (rev 52971)
@@ -39,6 +39,7 @@
 
 /* area.c */
 void        area_copy_data(ScrArea *sa1, ScrArea *sa2, int swap_space);
+void		region_toggle_hidden(bContext *C, ARegion *ar, int do_fade);
 
 /* screen_edit.c */
 ScrEdge    *screen_findedge(bScreen *sc, ScrVert *v1, ScrVert *v2);

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2012-12-13 11:59:07 UTC (rev 52970)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2012-12-13 12:17:57 UTC (rev 52971)
@@ -1786,7 +1786,7 @@
 
 static void region_scale_toggle_hidden(bContext *C, RegionMoveData *rmd)
 {
-	ED_region_toggle_hidden(C, rmd->ar);
+	region_toggle_hidden(C, rmd->ar, 0);
 	region_scale_validate_size(rmd);
 }
 
@@ -3594,7 +3594,7 @@
 	int hidden;
 } RegionAlphaInfo;
 
-#define TIMEOUT		0.3f
+#define TIMEOUT		0.2f
 #define TIMESTEP	0.04f
 
 float ED_region_blend_factor(ARegion *ar)




More information about the Bf-blender-cvs mailing list