[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55575] trunk/blender/source/blender/ editors: fix for missing redraw in own commit r55554 ( Ctrl+F text editor find).

Campbell Barton ideasman42 at gmail.com
Mon Mar 25 22:31:25 CET 2013


Revision: 55575
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55575
Author:   campbellbarton
Date:     2013-03-25 21:31:24 +0000 (Mon, 25 Mar 2013)
Log Message:
-----------
fix for missing redraw in own commit r55554 (Ctrl+F text editor find).
since an event wasn't added to the queue no redraws we're done when the panel was already open, instead use a notifier.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55554

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/anim_channels_defines.c
    trunk/blender/source/blender/editors/include/UI_interface.h
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/space_file/file_draw.c
    trunk/blender/source/blender/editors/space_outliner/outliner_draw.c
    trunk/blender/source/blender/editors/space_text/space_text.c

Modified: trunk/blender/source/blender/editors/animation/anim_channels_defines.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_channels_defines.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/animation/anim_channels_defines.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -3445,7 +3445,7 @@
 				but = uiDefButR(block, TEX, 1, "", offset + 3, yminc, RENAME_TEXT_WIDTH, channel_height,
 				                &ptr, RNA_property_identifier(prop), -1, 0, 0, -1, -1, NULL);
 				uiButSetFunc(but, achannel_setting_rename_done_cb, ac->ads, NULL);
-				uiButActiveOnly(C, block, but);
+				uiButActiveOnly(C, ac->ar, block, but);
 				
 				uiBlockSetEmboss(block, UI_EMBOSSN);
 			}

Modified: trunk/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_interface.h	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/include/UI_interface.h	2013-03-25 21:31:24 UTC (rev 55575)
@@ -448,7 +448,7 @@
 void    uiButClearDrawFlag(uiBut *but, int flag);
 
 /* special button case, only draw it when used actively, for outliner etc */
-int     uiButActiveOnly(const struct bContext *C, uiBlock *block, uiBut *but);
+int     uiButActiveOnly(const struct bContext *C, struct ARegion *ar, uiBlock *block, uiBut *but);
 
 void    uiButExecute(const struct bContext *C, uiBut *but);
 
@@ -643,7 +643,7 @@
                                 void (*func)(const struct bContext *C, void *, void *, void *, struct rcti *rect),
                                 void *arg1, void *arg2);
 
-void UI_textbutton_activate_event(const struct bContext *C, struct ARegion *ar,
+bool UI_textbutton_activate_event(const struct bContext *C, struct ARegion *ar,
                                   const void *rna_poin_data, const char *rna_prop_id);
 
 void uiButSetFocusOnEnter(struct wmWindow *win, uiBut *but);

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/interface/interface.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -682,7 +682,7 @@
 /* needed for temporarily rename buttons, such as in outliner or file-select,
  * they should keep calling uiDefButs to keep them alive */
 /* returns 0 when button removed */
-int uiButActiveOnly(const bContext *C, uiBlock *block, uiBut *but)
+int uiButActiveOnly(const bContext *C, ARegion *ar, uiBlock *block, uiBut *but)
 {
 	uiBlock *oldblock;
 	uiBut *oldbut;
@@ -704,7 +704,7 @@
 		}
 	}
 	if ((activate == TRUE) || (found == FALSE)) {
-		ui_button_activate_do((bContext *)C, CTX_wm_region(C), but);
+		ui_button_activate_do((bContext *)C, ar, but);
 	}
 	else if ((found == TRUE) && (isactive == FALSE)) {
 		BLI_remlink(&block->buttons, but);

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -7456,7 +7456,7 @@
 	WM_event_remove_ui_handler(handlers, ui_handler_popup, ui_handler_remove_popup, popup, FALSE);
 }
 
-void UI_textbutton_activate_event(const bContext *C, ARegion *ar,
+bool UI_textbutton_activate_event(const bContext *C, ARegion *ar,
                                   const void *rna_poin_data, const char *rna_prop_id)
 {
 	uiBlock *block;
@@ -7477,7 +7477,11 @@
 	}
 	
 	if (but) {
-		uiButActiveOnly(C, block, but);
+		uiButActiveOnly(C, ar, block, but);
+		return true;
 	}
+	else {
+		return false;
+	}
 }
 

Modified: trunk/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/file_draw.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/space_file/file_draw.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -538,7 +538,7 @@
 			uiButSetRenameFunc(but, renamebutton_cb, file);
 			uiButSetFlag(but, UI_BUT_NO_UTF8); /* allow non utf8 names */
 			uiButClearFlag(but, UI_BUT_UNDO);
-			if (0 == uiButActiveOnly(C, block, but)) {
+			if (0 == uiButActiveOnly(C, ar, block, but)) {
 				file->selflag &= ~EDITING_FILE;
 			}
 		}

Modified: trunk/blender/source/blender/editors/space_outliner/outliner_draw.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner_draw.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/space_outliner/outliner_draw.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -1043,7 +1043,7 @@
 				uiButSetRenameFunc(bt, namebutton_cb, tselem);
 				
 				/* returns false if button got removed */
-				if (0 == uiButActiveOnly(C, block, bt) )
+				if (0 == uiButActiveOnly(C, ar, block, bt) )
 					tselem->flag &= ~TSE_TEXTBUT;
 			}
 		}

Modified: trunk/blender/source/blender/editors/space_text/space_text.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/space_text.c	2013-03-25 18:41:28 UTC (rev 55574)
+++ trunk/blender/source/blender/editors/space_text/space_text.c	2013-03-25 21:31:24 UTC (rev 55575)
@@ -523,8 +523,11 @@
 	
 	/* this flag trick is make sure buttons have been added already */
 	if (st->flags & ST_FIND_ACTIVATE) {
-		
-		UI_textbutton_activate_event(C, ar, st, "find_text");
+		if (UI_textbutton_activate_event(C, ar, st, "find_text")) {
+			/* if the panel was already open we need to do another redraw */
+			ScrArea *sa = CTX_wm_area(C);
+			WM_event_add_notifier(C, NC_SPACE | ND_SPACE_TEXT, sa);
+		}
 		st->flags &= ~ST_FIND_ACTIVATE;
 	}
 }




More information about the Bf-blender-cvs mailing list