On 6 Jan 2008, at 11:17 PM, Adam R. Maxwell wrote: > > On Jan 6, 2008, at 2:06 PM, Christiaan Hofman wrote: > >> >> On 6 Jan 2008, at 10:39 PM, Adam R. Maxwell wrote: >> >>> >>> On Jan 6, 2008, at 1:33 PM, Christiaan Hofman wrote: >>> >>>> >>>> On 6 Jan 2008, at 10:30 PM, Adam R. Maxwell wrote: >>>> >>>>> >>>>> On Jan 6, 2008, at 7:10 AM, Adam R. Maxwell wrote: >>>>> >>>>>> >>>>>> On Jan 6, 2008, at 5:06 AM, Christiaan Hofman wrote: >>>>>> >>>>>>> Adam, can you confirm the last remark in bug # 1830798, e.g. by >>>>>>> commenting the window autosavename and/or the side pane sizing >>>>>>> in >>>>>>> [SKMainWindowController windowDidLoad]? Perhaps the order of >>>>>>> setting >>>>>>> PDF settings / changing window size / loading PDF is important? >>>>>> >>>>>> OK, I'll check that later today. >>>>> >>>>> Seems to work okay on the MacBook Pro with that commented, but I >>>>> need >>>>> to try on the G5 at work since that system fails pretty reliably. >>>>> I'm >>>>> pretty sure I've tried changing most of that stuff and reordering >>>>> it. >>>> >>>> And of course it should not matter, but apparently it does. Also >>>> it's >>>> not an option to remove it. >>> >>> I was wondering if it might be a problem with a nil message with a >>> float or struct return value? Maybe setting a view size to a >>> negative >>> value or something. I wish I'd reported it to Apple during Leopard >>> seeding, but there was a more serious bug that kept it from even >>> opening (which wasn't fixed until 10.5.0). >> >> You mean in our code or internal? I cannot imagine this to happen in >> our code. I don't think a view cab ever get negative size. E.g. the >> window frame in the prefs should always be consistent with the side >> pane widths. > > I was thinking somewhere in the bowels of the AppKit or PDFKit. > Something like [self setFrame:[nil frame]] could be bad, since the > struct would be garbage (but different garbage on ppc & intel). > > Here's something I tried a while ago: > > http://blog.omnigroup.com/2007/03/11/catching-float-and-struct- > returning-messages-to-nil/ > > ...I tried doing the same thing on Leopard. > > If I did this right, the selector was boundsForBox:, so I'm seeing > [nil boundsForBox:] in some private methods in PDFView (presumably > it's asking for a PDFPage before it's loaded). > > > #0 0x94b759a0 in objc_msgSend_stret > #1 0x0000000a in ?? > #2 0x94492f2c in -[PDFView(PDFViewInternal) reflectNewPageOn:] > #3 0x9448e179 in -[PDFView(PDFViewInternal) selfDidResize:] > #4 0x91ec867a in _nsnote_callback > #5 0x938b0a4a in __CFXNotificationPost > #6 0x938b0d23 in _CFXNotificationPostNotification > #7 0x91ec5a70 in -[NSNotificationCenter > postNotificationName:object:userInfo:] > #8 0x91ecf108 in -[NSNotificationCenter postNotificationName:object:] > #9 0x9064df8e in -[NSView _postFrameChangeNotification] > #10 0x90653e06 in -[NSView setFrameSize:] > #11 0x0003a140 in -[SKPDFView setFrameSize:] at SKPDFView.m:1456 > #12 0x90653ac4 in -[NSView setFrame:] > #13 0x0003a05f in -[SKPDFView setFrame:] at SKPDFView.m:1449 > #14 0x90721a44 in -[NSView resizeWithOldSuperviewSize:] > #15 0x90721885 in -[NSView resizeSubviewsWithOldSize:] > #16 0x90653d84 in -[NSView setFrameSize:] > #17 0x90653ac4 in -[NSView setFrame:] > #18 0x00073960 in -[BDSKEdgeView setEdges:] at BDSKEdgeView.m:95 > #19 0x0002fdd6 in -[SKMainWindowController windowDidLoad] at > SKMainWindowController.m:325 > #20 0x906d2b3a in -[NSWindowController _windowDidLoad] > #21 0x90670b68 in -[NSWindowController window] > #22 0x0002b8d5 in -[SKMainWindowController setupWindow:] at > SKMainWindowController.m:614 > #23 0x000325a3 in -[SKApplicationController > applicationShouldOpenUntitledFile:] at SKApplicationController.m:145 > > Posing as NSView didn't show up any bogus values set for bounds or > frame, though, so I didn't pursue it further. >
This indeed looks suspect. at the point where this happened, there is no PDFDocument loaded yet. Of course it should be OK to resize a PDFView without a document, but this seems to suggest it's not possible. It may be a reason to file a bug report. One possible solution I was thinking of is to swap in the PDFView late in windowDidLoad, perhaps after the loading the PDFDocument. Then it does not resize until after the document has been loaded into the PDFView. Christiaan ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ skim-app-develop mailing list skim-app-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-develop