bugGNUstep - Bugs: bug #6354, Failing to load a .gorm which uses...

 
 

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

bug #6354: Failing to load a .gorm which uses a NSImageView custom class in a NSScrollView

Submitted by:  Gregory John Casamento <gcasa>
Submitted on:  Tue 04 Nov 2003 08:39:44 AM UTC  
 
Category: Gui/AppKitSeverity: 2 - Minor
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: Gregory John Casamento <gcasa>
Open/Closed: Closed

Sun 23 Nov 2003 09:25:59 PM UTC, comment #3:

Given the analysis done by Alex, I am closing this.

Gregory John Casamento <gcasa>
Project AdministratorIn charge of this item.
Sat 22 Nov 2003 02:20:12 PM UTC, comment #2:

The root cause is that the app in question makes calls that manipulate the view hierarchy from -drawRect:. It removes the NSScroller subviews of the NSScrollView. This confuses the display machinery which still tries to make calls to the NSScroller:s that are now outside the view hierarchy, and this causes the exception.

Recovery from the exception fails because the gorm-loading code is releasing all connections twice, leading to memory corruption and, usually, a segfault. I've fixed this part in cvs.

As I see it, view manipulation from inside the display machinery (including -drawRect:) is not allowed, and changing the view hierarchy is definately an error. Thus, I consider this an application error.

Since this was pretty obscure and took a bit of work to track down, I'll try to get some asserts in place to catch view hierarchy manipulation during displaying earlier.

Alexander Malmberg <alexm>
Project Member
Mon 10 Nov 2003 01:07:46 AM UTC, comment #1:

Tried this with all other types of containers and it works fine. I can only reproduce this with NSScrollView. I have tried this with another application and I cannot reproduce this. The only time it appears is when the application is document based app.

Gregory John Casamento <gcasa>
Project AdministratorIn charge of this item.
Tue 04 Nov 2003 08:39:44 AM UTC, original submission:

This only occurs when the application is using NSWindowController and uses a NSScrollView which contains an instance of a custom class (specifically a subclass of NSImageView). I have been unable to recreate this under any other circumstance.

I don't believe this to be a Gorm issue since the Gorm file loads and saves find and upon inspection doesn't appear to have any problems.

Gregory John Casamento <gcasa>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

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 4 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sun 23 Nov 2003 09:25:57 PM UTCgcasaOpen/ClosedAnalyzed=>(Error - Not Found)
Sat 22 Nov 2003 02:20:12 PM UTCalexmStatusNone=>(Error - Not Found)
  Open/ClosedOpen=>(Error - Not Found)
Mon 10 Nov 2003 01:08:08 AM UTCgcasaAssigned toNone=>NA

Back to the top


Powered by Savane 3.1-cleanup1