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:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-01-09 22:03:49 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-01-13 13:57:51 +0400
commitf86fbc4ea31f743b8a28d4f91dc2eff209740507 (patch)
treea41e381399d8a50937fa923fa30feeb24ce372d8 /source/blender/editors
parent9d882031014abdd6daafe3a1235cd263edbc58fc (diff)
Remove direct displist creation from BKE_vfont_to_curve_ex()
This goes back to ancient era again and such a call isn't safe for threading and really DAG is to make it sure display list for dependencies is always there.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/curve/editfont.c47
-rw-r--r--source/blender/editors/object/object_add.c2
2 files changed, 18 insertions, 31 deletions
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index b76eaaf47b7..4b5dbc2faa8 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -248,7 +248,7 @@ static int insert_into_textbuf(Object *obedit, uintptr_t c)
return 0;
}
-static void text_update_edited(bContext *C, Scene *scene, Object *obedit, const bool recalc, int mode)
+static void text_update_edited(bContext *C, Object *obedit, const bool recalc, int mode)
{
struct Main *bmain = CTX_data_main(C);
Curve *cu = obedit->data;
@@ -265,7 +265,7 @@ static void text_update_edited(bContext *C, Scene *scene, Object *obedit, const
}
}
- BKE_vfont_to_curve(bmain, scene, obedit, mode);
+ BKE_vfont_to_curve(bmain, obedit, mode);
if (recalc)
DAG_id_tag_update(obedit->data, 0);
@@ -392,7 +392,6 @@ static bool font_paste_utf8(bContext *C, const char *str, const size_t str_len)
static int paste_from_file(bContext *C, ReportList *reports, const char *filename)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
FILE *fp;
char *strp;
@@ -438,7 +437,7 @@ static int paste_from_file(bContext *C, ReportList *reports, const char *filenam
if (strp && font_paste_utf8(C, strp, filelen)) {
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
retval = OPERATOR_FINISHED;
}
@@ -509,7 +508,6 @@ void FONT_OT_text_paste_from_file(wmOperatorType *ot)
static int paste_from_clipboard(bContext *C, ReportList *reports)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
char *strp;
int filelen;
@@ -522,7 +520,7 @@ static int paste_from_clipboard(bContext *C, ReportList *reports)
}
if ((filelen <= MAXTEXT) && font_paste_utf8(C, strp, filelen)) {
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
retval = OPERATOR_FINISHED;
}
else {
@@ -806,7 +804,6 @@ void FONT_OT_style_toggle(wmOperatorType *ot)
static int font_select_all_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -816,7 +813,7 @@ static int font_select_all_exec(bContext *C, wmOperator *UNUSED(op))
ef->selend = ef->len;
ef->pos = ef->len;
- text_update_edited(C, scene, obedit, true, FO_SELCHANGE);
+ text_update_edited(C, obedit, true, FO_SELCHANGE);
return OPERATOR_FINISHED;
}
@@ -883,7 +880,6 @@ void FONT_OT_text_copy(wmOperatorType *ot)
static int cut_text_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
int selstart, selend;
@@ -893,7 +889,7 @@ static int cut_text_exec(bContext *C, wmOperator *UNUSED(op))
copy_selection(obedit);
kill_selection(obedit, 0);
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -932,13 +928,12 @@ static bool paste_selection(Object *obedit, ReportList *reports)
static int paste_text_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
if (!paste_selection(obedit, op->reports))
return OPERATOR_CANCELLED;
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -975,7 +970,6 @@ static EnumPropertyItem move_type_items[] = {
static int move_cursor(bContext *C, int type, int select)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1068,11 +1062,11 @@ static int move_cursor(bContext *C, int type, int select)
if (ef->selstart) {
struct Main *bmain = CTX_data_main(C);
ef->selstart = ef->selend = 0;
- BKE_vfont_to_curve(bmain, scene, obedit, FO_SELCHANGE);
+ BKE_vfont_to_curve(bmain, obedit, FO_SELCHANGE);
}
}
- text_update_edited(C, scene, obedit, select, cursmove);
+ text_update_edited(C, obedit, select, cursmove);
if (select)
ef->selend = ef->pos;
@@ -1136,7 +1130,6 @@ void FONT_OT_move_select(wmOperatorType *ot)
static int change_spacing_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1151,7 +1144,7 @@ static int change_spacing_exec(bContext *C, wmOperator *op)
ef->textbufinfo[ef->pos - 1].kern = kern;
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -1178,7 +1171,6 @@ void FONT_OT_change_spacing(wmOperatorType *ot)
static int change_character_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1196,7 +1188,7 @@ static int change_character_exec(bContext *C, wmOperator *op)
ef->textbuf[ef->pos - 1] = character;
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -1223,7 +1215,6 @@ void FONT_OT_change_character(wmOperatorType *ot)
static int line_break_exec(bContext *C, wmOperator *UNUSED(op))
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1232,7 +1223,7 @@ static int line_break_exec(bContext *C, wmOperator *UNUSED(op))
ef->selstart = ef->selend = 0;
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -1265,7 +1256,6 @@ static EnumPropertyItem delete_type_items[] = {
static int delete_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1319,7 +1309,7 @@ static int delete_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
@@ -1346,7 +1336,6 @@ void FONT_OT_delete(wmOperatorType *ot)
static int insert_text_exec(bContext *C, wmOperator *op)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
char *inserted_utf8;
wchar_t *inserted_text;
@@ -1368,14 +1357,13 @@ static int insert_text_exec(bContext *C, wmOperator *op)
MEM_freeN(inserted_utf8);
kill_selection(obedit, 1);
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
return OPERATOR_FINISHED;
}
static int insert_text_invoke(bContext *C, wmOperator *op, const wmEvent *event)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1439,12 +1427,12 @@ static int insert_text_invoke(bContext *C, wmOperator *op, const wmEvent *event)
}
kill_selection(obedit, 1);
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
}
else {
inserted_text[0] = ascii;
insert_into_textbuf(obedit, ascii);
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
}
}
else
@@ -1643,7 +1631,6 @@ static EnumPropertyItem case_items[] = {
static int set_case(bContext *C, int ccase)
{
- Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
Curve *cu = obedit->data;
EditFont *ef = cu->editfont;
@@ -1673,7 +1660,7 @@ static int set_case(bContext *C, int ccase)
}
}
- text_update_edited(C, scene, obedit, 1, FO_EDIT);
+ text_update_edited(C, obedit, 1, FO_EDIT);
}
return OPERATOR_FINISHED;
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 1d72eb59f13..a3343d93201 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1588,7 +1588,7 @@ static int convert_exec(bContext *C, wmOperator *op)
* datablock, but for until we've got granular update
* lets take care by selves.
*/
- BKE_vfont_to_curve(bmain, scene, newob, FO_EDIT);
+ BKE_vfont_to_curve(bmain, newob, FO_EDIT);
newob->type = OB_CURVE;
cu->type = OB_CURVE;