bugGNUstep - Bugs: bug #24200, NSSavePanel crashes apps

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #24200: NSSavePanel crashes apps

Submitted by:  Niels Grewe <thebeing>
Submitted on:  Thu 04 Sep 2008 10:04:10 AM UTC  
 
Category: Gui/AppKitSeverity: 3 - Normal
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: Fred Kiefer <FredKiefer>
Open/Closed: Closed

Mon 08 Sep 2008 08:35:55 PM UTC, comment #3:

I just compiled and can confirm that the change fixed the issue for me, both with GSX11HandlesWindowDecorations set to Yes and No. Besides, I can't really see any use of setting GSSavePanelShowProgress to yes on my machine since it neither has large enough directories nor contrained enough resources, so I can't comment on whether the changed string gets drawn.

Cheers,

Niels

Niels Grewe <thebeing>
Project Member
Mon 08 Sep 2008 07:29:47 PM UTC, comment #2:

I just replaced the calls to [GSCurrentContext() flushGraphics] with [self flushWindow], this should work more reliable. Still when the window decoration is drawn by GNUstep we have no garanty that the changed string will get displayed.

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Fri 05 Sep 2008 08:54:54 PM UTC, comment #1:

The line [GSCurrentContext() flushGraphics]; is used in the NSSavePanel to display progress information on big directories.
This only happends when explicitly requested by setting the property GSSavePanelShowProgress to YES. So the simplest solution will be to set this to NO in your defaults file.

For a general solution we will have to find out where the problem actually happends and decide how to resolve it. I think that here a wrong context gets found as the current context. (Although in most cases the current context will be the application context and I see no reason, why this could be wrong)
Independent of this we should rethink, whether a flush is the right think to do here. We are setting the window title to display the progress and when GNUstep is displaying the window decoration itself the flush is even before the system gets a chance to draw anything. Perhaps it would be best to remove the whole feature? Or replace the flush by a way to get the run loop do its job while loading huge amounts of cells?

Fred Kiefer <FredKiefer>
Project MemberIn charge of this item.
Thu 04 Sep 2008 10:04:10 AM UTC, original submission:

Hello,

I am experiencing segmentation faults with GNUstep trunk on Debian unstable x86-64 whenever an application tries to create a NSSavePanel (according to gdb backtrace) and would like to ask for advice on what might be causing this. It happens with both the cairo and the art backend. I have attached a backtrace from running and crashing Gorm, but the problem occurs with other applications (ProjectCenter, EasyDiff) too. I hope it will be usefull.

best regards,

Niels

Relevant versions:
base,gui,back: svn r26830
cairo: 1.6.4
libart: 1.4.2

Niels Grewe <thebeing>
Project Member

 

Attached Files
file #16430:  gorm-backtrace added by thebeing (7KiB - application/octet-stream - Backtrace from running Gorm)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by FredKiefer (Posted a comment)
  • -unavailable- added by thebeing (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 29 Nov 2008 01:54:54 PM UTCFredKieferStatusReady For Test=>Fixed
      Open/ClosedIn Test=>Closed
    Mon 08 Sep 2008 07:29:47 PM UTCFredKieferStatusNone=>Ready For Test
      Assigned toNone=>FredKiefer
      Open/ClosedOpen=>In Test
    Thu 04 Sep 2008 10:04:10 AM UTCthebeingAttached File-=>Added gorm-backtrace, #16430

    Back to the top


    Powered by Savane 3.1-cleanup1