[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Interesting error in GWorkspace
From: |
Eric Wasylishen |
Subject: |
Re: Interesting error in GWorkspace |
Date: |
Thu, 8 Sep 2011 13:04:38 -0600 |
I added two extra checks: one against creating a NSCachedImageRep with a size
of zero (it looks like that is where the NSView with size 0,0 was coming from),
and a check against locking focus on an image with a size of 0,0.
Maybe those will help isolate the problem a bit..
Actually, I just looked at Dock.m:
- (void)setBackImage
{
NSImage *image = [[manager desktopView] backImage];
int i;
DESTROY (backImage);
if (image) {
NSRect r = [self bounds];
backImage = [[NSImage alloc] initWithSize: r.size];
[backImage lockFocus];
[image compositeToPoint: NSZeroPoint
fromRect: r
operation: NSCompositeCopy];
I bet "r" has a size of (0, 0).. I wonder why the bounds would be zero?
Eric
On 2011-09-08, at 3:38 AM, Riccardo Mottola wrote:
> Hi
>> ok, gdb must be confused because there is an NSAffineTransform.m in both
>> base and gui.
>>
>> Sorry, I'm not sure what to try next :-/
> me neither. I wonder if this a bug in base? I think not, I feel that
> something is passing bad transform parameters.
>
> I was able to break into it by setting another breakpoint of the method and
> then removing it... a bit unrepeatable but one time it worked and I got this:
>
> #0 -[NSAffineTransform invert] (self=0xb901b314, _cmd=0xbbaf14d8)
> at NSAffineTransform.m:253
> #1 0xbb999824 in -[NSView _rebuildCoordinates] (self=0xb9f51be4,
> _cmd=0xbbaf14a0) at NSView.m:348
> #2 0xbb98bf16 in -[NSView visibleRect] (self=0xb9f51be4, _cmd=0xbbaf14e0)
> at NSView.m:2677
> #3 0xbb98c5be in -[NSView lockFocus] (self=0xb9f51be4, _cmd=0xbba8ba18)
> at NSView.m:2343
> #4 0xbb8abfae in -[NSImage lockFocusOnRepresentation:] (self=0xb901b254,
> _cmd=0xbba8b9f8, imageRep=0x0) at NSImage.m:1072
> #5 0xbb8a5c0e in -[NSImage lockFocus] (self=0xb901b254, _cmd=0x8103c80)
> at NSImage.m:1048
> #6 0x08077984 in -[Dock setBackImage] (self=0xba0dff04, _cmd=0x8103cc8)
> at Desktop/Dock/Dock.m:418
> #7 0x080790c5 in -[Dock tile] (self=0xba0dff04, _cmd=0x80fcc98)
> at Desktop/Dock/Dock.m:490
> #8 0x08065bef in -[GWDesktopManager activateDesktop] (self=0xb9e58104,
> _cmd=0x80f6a20) at Desktop/GWDesktopManager.m:158
> #9 0x0805749a in -[GWorkspace applicationWillFinishLaunching:] (
> self=0xbacb3604, _cmd=0xbba4c060, aNotification=0xba101a84)
> at GWorkspace.m:437
> #10 0xbb4d3ba5 in -[NSNotificationCenter _postAndRelease:] (self=0xbac812a4,
> _cmd=0xbb6f7bc0, notification=0xba101a84) at NSNotificationCenter.m:1223
>
> det is indeed 0.
>
> now, I cannot access A, B, C, D for some reason, however moving up one in the
> stack inside NSView, I checked the "ts" structure:
> (gdb) p ts
> $6 = {m11 = 1, m12 = 0, m21 = 0, m22 = 0, tX = 0, tY = 0}
>
> I don't think this is very sane.
>
> Inside NSView I also see:
> (gdb) p _frameMatrix
> $7 = (struct objc_object *) 0x0
> (gdb) p _frame
> $8 = {origin = {x = 0, y = 0}, size = {width = 0, height = 0}}
>
> well, doing transforms of 0 stuff is useless, perhaps NSAffineTransform
> should be smart checking for 0 values, but at the end I don't think it makes
> sense to have them at all. The View itself seems pretty messed up:
>
> po self
> h=-&- v=-&- <NSView: 0xb9f51be4> f={x = 0; y = 0; width = 0; height = 0} b={x
> = 0; y = nan; width = 0; height = 1.28695e-41}
>
> This comes further up from an NSImage, I tried to po [NSImage name] but gdb
> crashed and afterwards I wasn't able rerun and get in to the breakpoint
> again...
>
> Riccardo
>
>
>
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
- Interesting error in GWorkspace, Riccardo Mottola, 2011/09/07
- Re: Interesting error in GWorkspace, Eric Wasylishen, 2011/09/07
- Re: Interesting error in GWorkspace, Riccardo Mottola, 2011/09/07
- Re: Interesting error in GWorkspace, Eric Wasylishen, 2011/09/07
- Re: Interesting error in GWorkspace, Riccardo Mottola, 2011/09/08
- Re: Interesting error in GWorkspace,
Eric Wasylishen <=
- Re: Interesting error in GWorkspace, Riccardo Mottola, 2011/09/09
- Re: Interesting error in GWorkspace, Eric Wasylishen, 2011/09/09
- Re: Interesting error in GWorkspace, Riccardo Mottola, 2011/09/11
- Re: Interesting error in GWorkspace, Eric Wasylishen, 2011/09/11
- Re: Interesting error in GWorkspace, David Chisnall, 2011/09/12