[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56521] trunk/blender/source/blender/ editors/space_text/text_ops.c: fix for glitch in text editor using ctrl+( backspace / delete),

Campbell Barton ideasman42 at gmail.com
Tue May 7 03:00:23 CEST 2013


Revision: 56521
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56521
Author:   campbellbarton
Date:     2013-05-07 01:00:19 +0000 (Tue, 07 May 2013)
Log Message:
-----------
fix for glitch in text editor using ctrl+(backspace / delete), 
for now just don't jump words when theres a selection.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_text/text_ops.c

Modified: trunk/blender/source/blender/editors/space_text/text_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_text/text_ops.c	2013-05-07 00:00:32 UTC (rev 56520)
+++ trunk/blender/source/blender/editors/space_text/text_ops.c	2013-05-07 01:00:19 UTC (rev 56521)
@@ -2006,11 +2006,19 @@
 
 static int text_delete_exec(bContext *C, wmOperator *op)
 {
+	SpaceText *st = CTX_wm_space_text(C);
 	Text *text = CTX_data_edit_text(C);
 	int type = RNA_enum_get(op->ptr, "type");
 
-	text_drawcache_tag_update(CTX_wm_space_text(C), 0);
+	text_drawcache_tag_update(st, 0);
 
+	/* behavior could be changed here,
+	 * but for now just don't jump words when we have a selection */
+	if (txt_has_sel(text)) {
+		if      (type == DEL_PREV_WORD) type = DEL_PREV_CHAR;
+		else if (type == DEL_NEXT_WORD) type = DEL_NEXT_CHAR;
+	}
+
 	if (type == DEL_PREV_WORD) {
 		if (txt_cursor_is_line_start(text)) {
 			txt_backspace_char(text);
@@ -2036,7 +2044,7 @@
 	WM_event_add_notifier(C, NC_TEXT | NA_EDITED, text);
 
 	/* run the script while editing, evil but useful */
-	if (CTX_wm_space_text(C)->live_edit)
+	if (st->live_edit)
 		text_run_script(C, NULL);
 	
 	return OPERATOR_FINISHED;




More information about the Bf-blender-cvs mailing list