[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14476] trunk/blender/source/blender: fix for [#7430] No way to back out of a PupStrInput() dialog
Campbell Barton
ideasman42 at gmail.com
Sat Apr 19 13:44:10 CEST 2008
Revision: 14476
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14476
Author: campbellbarton
Date: 2008-04-19 13:44:09 +0200 (Sat, 19 Apr 2008)
Log Message:
-----------
fix for [#7430] No way to back out of a PupStrInput() dialog
Modified Paths:
--------------
trunk/blender/source/blender/include/BIF_toolbox.h
trunk/blender/source/blender/src/toolbox.c
Modified: trunk/blender/source/blender/include/BIF_toolbox.h
===================================================================
--- trunk/blender/source/blender/include/BIF_toolbox.h 2008-04-19 11:26:51 UTC (rev 14475)
+++ trunk/blender/source/blender/include/BIF_toolbox.h 2008-04-19 11:44:09 UTC (rev 14476)
@@ -47,7 +47,7 @@
short button (short *var, short min, short max, char *str);
short fbutton (float *var, float min, float max, float a1, float a2, char *str);
-short sbutton (char *var, float min, float max, char *str); /* __NLA */
+short sbutton (char *var, short min, short max, char *str); /* __NLA */
int movetolayer_buts (unsigned int *lay, char *title);
int movetolayer_short_buts (short *lay, char *title);
Modified: trunk/blender/source/blender/src/toolbox.c
===================================================================
--- trunk/blender/source/blender/src/toolbox.c 2008-04-19 11:26:51 UTC (rev 14475)
+++ trunk/blender/source/blender/src/toolbox.c 2008-04-19 11:44:09 UTC (rev 14476)
@@ -291,13 +291,14 @@
return 0;
}
-short sbutton(char *var, float min, float max, char *str)
+short sbutton(char *var, short min, short max, char *str)
{
uiBlock *block;
ListBase listb={0, 0};
short x1,y1;
short mval[2], ret=0;
-
+ char *editvar = NULL; /* dont edit the original text, incase we cancel the popup */
+
if(min>max) min= max;
getmouseco_sc(mval);
@@ -313,7 +314,10 @@
x1=mval[0]-250;
y1=mval[1]-20;
- uiDefButC(block, TEX, 32766, str, x1+5,y1+10,225,20, var,(float)min,(float)max, 0, 0, "");
+ editvar = MEM_callocN(max, "sbutton");
+ BLI_strncpy(editvar, var, max);
+
+ uiDefButC(block, TEX, 32766, str, x1+5,y1+10,225,20, editvar,(float)min,(float)max, 0, 0, "");
uiDefBut(block, BUT, 32767, "OK", x1+236,y1+10,25,20, NULL, 0, 0, 0, 0, "");
uiBoundsBlock(block, 5);
@@ -321,7 +325,12 @@
mainqenter_ext(BUT_ACTIVATE, 32766, 0); /* note, button id '32766' is asking for errors some day! */
ret= uiDoBlocks(&listb, 0, 0);
- if(ret==UI_RETURN_OK) return 1;
+ if(ret==UI_RETURN_OK) {
+ BLI_strncpy(var, editvar, max);
+ MEM_freeN(editvar);
+ return 1;
+ }
+ MEM_freeN(editvar);
return 0;
}
More information about the Bf-blender-cvs
mailing list