gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Odd problem with NSSavePanel


From: Germán Arias
Subject: Re: Odd problem with NSSavePanel
Date: Thu, 09 Jan 2014 01:07:59 -0600
User-agent: GNUMail (Version 1.2.1)

Well, after some research I'm more confused. I'm not sure, but I think that 
_fullFileName and _allowedFileTypes are involved in  this problem. At some 
moment these variables don't store anything. So, the method -filename don't 
return anything, and call -length over the returned value crashed the program.

The other problem I see is that _fullFileName depends of returned value from 
-filename. You can see this at line 608 on NSSavePanel.m. The parameter 
filename is the returned value of -filename (see method -runModal). At line 
608, what happen when pass a parameter that don't contains anything?

Furthermore, I noticed other strange problem with SavePanel. For example: 
launch Ink, write something at the document and save this. Now close the 
document and creates a new one. Write something in this new document and save 
this. If you notice, the save panel puts the full path of previous saved 
document. See attached image. Why do this the panel?

<savepanel.jpg>


On 2014-01-07 12:45:58 -0600 Germán Arias <address@hidden> wrote:

> I'm having a problem with Gemas and NSSavePanel. You can reproduce it with 
> these steps:
> 
> * Launch Gemas.
> * Create a new file of type "Other" (Document -> New File -> Other).
> * Write something.
> * Save the file (don't add an extension).
> * Close the document.
> * Create a new file of type "Other".
> * Write something.
> * Try to save this, the app crash.
> 
> At GemasInfo.plist the extension of this type is described as ( * ), this is 
> any file. And this problem only occurs with types that have its extension 
> like this one.
> 
> Here the backtrace:
> 
> (gdb) backtrace
> #0  0x00a992c6 in objc_msg_lookup () from /usr/lib/i386-linux-gnu/libobjc.so.3
> #1  0x0032866b in -[NSSavePanel(PrivateMethods) _selectCellName:] (
>     self=0x82bfa28, _cmd=0x55f520, title=0x8548ea0) at NSSavePanel.m:528
> #2  0x00328af5 in -[NSSavePanel(PrivateMethods) _setFileName:] (
>     self=0x82bfa28, _cmd=0x55f588, filename=0x8548ea0) at NSSavePanel..m:587
> #3  0x00328d13 in -[NSSavePanel(PrivateMethods) _setupForDirectory:file:] (
>     self=0x82bfa28, _cmd=0x55f1b0, path=0x821c928, filename=0x8548ea0)
>     at NSSavePanel.m:610
> #4  0x00329c8d in -[NSSavePanel runModalForDirectory:file:] (self=0x82bfa28,
>     _cmd=0x55f6a0, path=0x821c928, filename=0x8548ea0) at NSSavePanel..m:1140
> #5  0x00329ba6 in -[NSSavePanel runModal] (self=0x82bfa28, _cmd=0x518e10)
>     at NSSavePanel.m:1111
> #6  0x00285fbb in -[NSDocument runModalSavePanel:withAccessoryView:] (
>     self=0x837c278, _cmd=0x518ef0, savePanel=0x82bfa28,
>     accessoryView=0x84c4f68) at NSDocument.m:1088
> #7  0x00289be7 in -[NSDocument _runSavePanelForSaveOperation:] (
>     self=0x837c278, _cmd=0x518ef8, saveOperation=NSSaveOperation)
>     at NSDocument.m:1203
> #8  0x00286319 in -[NSDocument 
> runModalSavePanelForSaveOperation:delegate:didSaveSelector:contextInfo:] 
> (self=0x837c278, _cmd=0x519020,
>     saveOperation=NSSaveOperation, delegate=0x0, didSaveSelector=0x0,
>     contextInfo=0x0) at NSDocument.m:1229
> #9  0x0028745d in -[NSDocument 
> saveDocumentWithDelegate:didSaveSelector:contextInfo:] (self=0x837c278, 
> _cmd=0x519018, delegate=0x0, didSaveSelector=0x0,
> ---Type <return> to continue, or q <return> to quit---
>     contextInfo=0x0) at NSDocument.m:1564
> #10 0x002872c1 in -[NSDocument saveDocument:] (self=0x837c278, _cmd=0x8147910,
>     sender=0x83080e0) at NSDocument.m:1524
> #11 0x0020ce97 in -[NSApplication sendAction:to:from:] (self=0x81253f8,
>     _cmd=0x53ef50, aSelector=0x8147910, aTarget=0x0, sender=0x83080e0)
>     at NSApplication.m:2230
> #12 0x002e2c64 in -[NSMenu performActionForItemAtIndex:] (self=0x8302618,
>     _cmd=0x5420a0, index=4) at NSMenu.m:1323
> #13 0x002ecb6a in -[NSMenuView _trackWithEvent:startingMenuView:] (
>     self=0x8309300, _cmd=0x542118, event=<optimized out>,
>     mainWindowMenuView=0x0) at NSMenuView.m:1916
> #14 0x002eb113 in -[NSMenuView trackWithEvent:] (self=0x8309300,
>     _cmd=0x542188, event=0x833e558) at NSMenuView.m:1948
> #15 0x002eb414 in -[NSMenuView mouseDown:] (self=0x8309300, _cmd=0x59fff0,
>     theEvent=0x833e558) at NSMenuView.m:1988
> #16 0x003d6724 in -[NSWindow sendEvent:] (self=0x8308630, _cmd=0x4eaf40,
>     theEvent=0x833e558) at NSWindow.m:3896
> #17 0x00211f7b in -[NSApplication sendEvent:] (self=0x81253f8, _cmd=0x4eae78,
>     theEvent=0x833e558) at NSApplication.m:2105
> #18 0x002144eb in -[NSApplication run] (self=0x81253f8, _cmd=0x4e1348)
>     at NSApplication.m:1562
> #19 0x001f1f0f in NSApplicationMain (argc=1, argv=0xbfffe404) at 
> Functions.m:91
> #20 0x08048fe7 in main (argc=1, argv=0xbfffe404) at Gemas_main.m:26
> 
> Any advice?
> 
> Thanks.
> Germán.
> 
> 
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/gnustep-dev
> 
>

Attachment: savepanel.jpg
Description: JPEG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]