[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