Bug 52791 - Ted-2.14 crashes when saving help page
Summary: Ted-2.14 crashes when saving help page
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-29 23:50 UTC by Jonathan
Modified: 2004-07-05 18:00 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan 2003-05-29 23:50:12 UTC
Ted will crash if you try to save the help document (TedDocument-en_US.rtf) as 
a *.ps file.

Fix: To Fix apply this patch (supplied by Ted's developer Mark de Does) to the file 
appFileChooserMotif.c.  This file is in :
Ted-2.14/appFrame/appFileChooserMotif.c


I retested Ted-2.14 and the patch ahs fixed the problem.



--Boundary-00=_i5o1+JN93+OR2Ir
Content-Type: text/x-diff;
  charset="us-ascii";
  name="appFileChooserMotif.c.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="appFileChooserMotif.c.diff"



--Boundary-00=_i5o1+JN93+OR2Ir----SCsoeIW02DhbidechoOw6Evzh1Q1UZxq0T1OUwiSkTU0HMFn
Content-Type: text/plain; name="file.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="file.diff"

--- appFileChooserMotif.c	Fri Apr  4 06:46:48 2003
+++ /home/bsd/appFileChooserMotif.c	Thu May 29 17:02:44 2003
@@ -549,6 +549,7 @@
 static int appMakeFileChooser( AppChooserInformation **	pAci,
 				Widget				relative,
 				EditApplication *		ea,
+				int				withFilter,
 				const char *			defaultFilter,
 				Widget				option )
     {
@@ -624,15 +625,21 @@
 			NULL );
 
     /*  Not necessary
-    XtAddCallback( text, XmNactivateCallback,
+    if  ( withFilter )
+	{
+	XtAddCallback( text, XmNactivateCallback,
 				    appFileFilterActivated, (void *)aci );
+	}
     */
 
     filterButton= XmFileSelectionBoxGetChild( aci->aciDialog.adDialog,
 						    XmDIALOG_APPLY_BUTTON );
 
-    XtAddCallback( filterButton, XmNactivateCallback,
+    if  ( withFilter )
+	{
+	XtAddCallback( filterButton, XmNactivateCallback,
 				    appFileFilterActivated, (void *)aci );
+	}
 
     text= XmFileSelectionBoxGetChild( aci->aciDialog.adDialog, XmDIALOG_TEXT );
     XtVaSetValues( text,
@@ -705,14 +712,15 @@
 			EditApplication *	ea )
     {
     AppChooserInformation *	aci= (AppChooserInformation *)0;
+    const int			withFilter= extensionCount > 0;
 
-    if  ( appMakeFileChooser( &aci, relative, ea, defaultFilter, option ) )
+    if  ( appMakeFileChooser( &aci, relative, ea, withFilter, defaultFilter, option ) )
 	{ LDEB(1); return;	}
 
     XtAddCallback( aci->aciDialog.adDialog,
 			XmNokCallback, appOpenChooserOk, (XtPointer)aci );
 
-    if  ( extensionCount > 0 )
+    if  ( withFilter )
 	{
 	appFileMakeFilter( aci );
 
@@ -727,7 +735,7 @@
     aci->aciOpenDocument= openDocument;
     aci->aciFilename= (char *)0;
 
-    if  ( extensionCount > 0 )
+    if  ( withFilter )
 	{
 	WidgetList		children;
 	Cardinal		childCount= 0;
@@ -920,16 +928,17 @@
 				char **			pFilename )
     {
     AppChooserInformation *	aci= (AppChooserInformation *)0;
+    const int			withFilter= ea->eaFileExtensionCount > 0;
     int				response;
 
-    if  ( appMakeFileChooser( &aci, relative, ea,
+    if  ( appMakeFileChooser( &aci, relative, ea, withFilter,
 					    ea->eaDefaultFileFilter, option ) )
 	{ return ACIrespFAILURE;	}
 
     XtAddCallback( aci->aciDialog.adDialog,
 			    XmNokCallback, appSaveOkPushed, (XtPointer)aci );
 
-    if  ( ea->eaFileExtensionCount > 0 )
+    if  ( withFilter )
 	{
 	appFileMakeFilter( aci );
 
@@ -977,9 +986,10 @@
 					char **			pFilename )
     {
     AppChooserInformation *	aci= (AppChooserInformation *)0;
+    const int			withFilter= 0;
     int				response;
 
-    if  ( appMakeFileChooser( &aci, panel, ea, "*.ps", option ) )
+    if  ( appMakeFileChooser( &aci, panel, ea, withFilter, "*.ps", option ) )
 	{ LDEB(1); return ACIrespFAILURE;	}
 
     XtAddCallback( aci->aciDialog.adDialog,
How-To-Repeat: 
1) Click on  Help->Document and open TedDocument-en_US.rtf
2) Click on File->Print and choose "Print to File"
3) Click on the Print button.
4) In the left hand "Directories" window, double click on 
/usr/X11R6/share/doc/..      to go up one directory.
5) Crash
Comment 1 Will Andrews freebsd_committer freebsd_triage 2003-06-18 03:51:05 UTC
State Changed
From-To: open->closed

Fixed by 53329.