On Sat, 2006-06-03 at 13:03 +0800, Paul Wise wrote:

> Another datapoint: Got a similar report upstream, the attached patch
> made no difference, apart from a slight one in the backtrace.
> Investigating further with the tester.

Thanks a lot for the hint Anthony. The attached patch fixes all the
startup crashers our tester was able to find. I'll commit it upstream
and in debian svn. If you could test it too that'd be great.

-- 
bye,
pabs

http://wiki.debian.org/PaulWise
Index: src/gtkmm/dockbook.cpp
===================================================================
--- src/gtkmm/dockbook.cpp	(revision 169)
+++ src/gtkmm/dockbook.cpp	(working copy)
@@ -213,7 +213,7 @@
 	synfig::String str(x);
 	while(!str.empty())
 	{
-		unsigned int separator=str.find_first_of(' ');
+		synfig::String::size_type separator=str.find_first_of(' ');
 		synfig::String dock;
 		if(separator==synfig::String::npos)
 		{
Index: src/gtkmm/dockmanager.cpp
===================================================================
--- src/gtkmm/dockmanager.cpp	(revision 169)
+++ src/gtkmm/dockmanager.cpp	(working copy)
@@ -73,7 +73,7 @@
 		if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")try
 		{
 			synfig::String key(key_.begin()+7,key_.end());
-			int separator=key.find_first_of('.');
+			synfig::String::size_type separator=key.find_first_of('.');
 			int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str()));
 			key=synfig::String(key.begin()+separator+1,key.end());
 			
@@ -123,7 +123,7 @@
 		if(key_.size()>6 && String(key_.begin(),key_.begin()+6)=="dialog")
 		{
 			synfig::String key(key_.begin()+7,key_.end());
-			int separator=key.find_first_of('.');
+			synfig::String::size_type separator=key.find_first_of('.');
 			int id(atoi(synfig::String(key.begin(),key.begin()+separator).c_str()));
 			key=synfig::String(key.begin()+separator+1,key.end());
 			
@@ -134,7 +134,7 @@
 				try {
 					
 				vector<int> data;
-				int n=0;
+				String::size_type n=0;
 				String value_(value);
 				while(value_.size() && (signed)value_.size()>n && n>=0){
 					value_=String(value_.begin()+n,value_.end());
@@ -145,7 +145,7 @@
 					data.push_back(size);
 
 					n=value_.find(" ");
-					if((unsigned)n!=String::npos)
+					if(n!=String::npos)
 						n++;
 						
 				}
Index: src/gtkmm/dockdialog.cpp
===================================================================
--- src/gtkmm/dockdialog.cpp	(revision 169)
+++ src/gtkmm/dockdialog.cpp	(working copy)
@@ -480,9 +480,9 @@
 	synfig::String str(z);
 	while(!str.empty())
 	{
-		unsigned int separator=str.find_first_of('-');
+		synfig::String::size_type separator=str.find_first_of('-');
 		{
-			unsigned int sep2=str.find_first_of('|');
+			synfig::String::size_type sep2=str.find_first_of('|');
 			if(separator!=synfig::String::npos || sep2!=synfig::String::npos)
 			{
 				if((separator==synfig::String::npos || sep2<separator) && sep2!=synfig::String::npos)

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to