[Bf-blender-cvs] [2413b44] master: Fix T38640: password values showed in tooltips

Campbell Barton noreply at git.blender.org
Sat Feb 15 02:07:24 CET 2014


Commit: 2413b444d0c41639c49cd3bc76364077eff7d9da
Author: Campbell Barton
Date:   Sat Feb 15 12:05:51 2014 +1100
https://developer.blender.org/rB2413b444d0c41639c49cd3bc76364077eff7d9da

Fix T38640: password values showed in tooltips

also disable copying password text.

===================================================================

M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/interface_regions.c

===================================================================

diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index cfdc0c8..a426cbd 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -1677,6 +1677,13 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
 		return;
 	}
 
+	if (mode == 'c') {
+		/* disallow copying from any passwords */
+		if (but->rnaprop && (RNA_property_subtype(but->rnaprop) == PROP_PASSWORD)) {
+			return;
+		}
+	}
+
 	if (mode == 'v') {
 		/* extract first line from clipboard in case of multi-line copies */
 		int pbuf_len;
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 0dc1008..cb52e0c 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -325,12 +325,15 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
 	}
 
 	if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
-		/* full string */
-		ui_get_but_string(but, buf, sizeof(buf));
-		if (buf[0]) {
-			BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Value: %s"), buf);
-			data->color_id[data->totline] = UI_TIP_LC_NORMAL;
-			data->totline++;
+		/* better not show the value of a password */
+		if ((but->rnaprop && (RNA_property_subtype(but->rnaprop) == PROP_PASSWORD)) == 0) {
+			/* full string */
+			ui_get_but_string(but, buf, sizeof(buf));
+			if (buf[0]) {
+				BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), TIP_("Value: %s"), buf);
+				data->color_id[data->totline] = UI_TIP_LC_NORMAL;
+				data->totline++;
+			}
 		}
 	}




More information about the Bf-blender-cvs mailing list