Blank page on print preview on Sierra

If you have specific questions regarding the Professional Edition of Quartam Reports, this is the place to get answers from your fellow users of Quartam Reports - Professional Edition for LiveCode.
Post Reply
JosepM
Posts: 28
Joined: Fri Aug 13, 2010 12:26 am

Blank page on print preview on Sierra

Post by JosepM » Sat Feb 04, 2017 6:53 am

Hi Jan,

I have an issue on Sierra SO on Macosx. Can you update us with 1.7 version?

I need help with Quartam Reports. Since Sierra MacOSX when you print preview any report a blank page left on desktop making unusable these zone until close the app.
Since now was impossible contact with Quartam support.
Any idea if Quartam still exist or is supported? Alternatives?

Salut,
Josep M

JanSchenkel
Site Admin
Posts: 110
Joined: Sun Jul 18, 2010 5:21 pm
Location: Aalst, Belgium
Contact:

Re: Blank page on print preview on Sierra

Post by JanSchenkel » Mon Feb 06, 2017 9:57 am

Hi Josep,

Can you provide a little more background infoàrmation, because I can't quite follow what problem you are encountering.
Some screenshots or perhaps a screen recording would definitely help me to understand the issue.

As for Quartam Reports 1.1.7 - I'll publish that once we've figured out your specific issue...

Cheers,

Jan Schenkel.
Quartam Developer Tools for LiveCode
http://www.quartam.com

JosepM
Posts: 28
Joined: Fri Aug 13, 2010 12:26 am

Re: Blank page on print preview on Sierra

Post by JosepM » Mon Feb 06, 2017 10:30 am

Hi Jan,

Thanks for answer. :)

Attach a screen capture. The blank page on left is the issue. First time you print with preview left the white rectangle.

About the print directly without preview? will work on 1.1.7?

Salut,
Josep M
Attachments
Captura de pantalla 2017-02-03 a les 9.30.50.png
(79.06 KiB) Not downloaded yet

JanSchenkel
Site Admin
Posts: 110
Joined: Sun Jul 18, 2010 5:21 pm
Location: Aalst, Belgium
Contact:

Re: Blank page on print preview on Sierra

Post by JanSchenkel » Mon Feb 06, 2017 10:21 pm

Hmm, that looks odd, indeed! Could you make a screen recording, so that I can see the sequence of events?
I currently don't have macos sierra installed - been planning to do that but haven't gotten around to it yet.
Looks like I'll have to do that soon...

Quartam Reports doesn't use 'undecorated' windows, so this is a very strange 'ghost' window.

Is this ghost window the exact same size as the preview window?
What LiveCode version did you use to build this standalone application?
Does the problem also occur inside the LiveCode IDE?

Yes, Quartam Reports 1.1.7 will solve the 'direct printing' issue, as well as a rather tricky issue with complex layouts with multiple stretching fields in the detail band.

Jan Schenkel.
Quartam Developer Tools for LiveCode
http://www.quartam.com

JosepM
Posts: 28
Joined: Fri Aug 13, 2010 12:26 am

Re: Blank page on print preview on Sierra

Post by JosepM » Mon Feb 06, 2017 10:37 pm

Hi Jan,

Yes, the window have the same size.
LiveCode 4.6.4
I don't test it inside the IDE so the dev computer don't have Sierra.
Quartam Reports version is 1.1.7b3

After print form preview the ghost square left on the desktop.

Salut,
Josep M

JanSchenkel
Site Admin
Posts: 110
Joined: Sun Jul 18, 2010 5:21 pm
Location: Aalst, Belgium
Contact:

Re: Blank page on print preview on Sierra

Post by JanSchenkel » Mon Feb 06, 2017 11:25 pm

Hi Josep,

I sent you an email with Quartam Reports 1.1.7b6 which combines all fixes that I’ve assembled so far - including the direct printing problem.
Give it a whirl and let me know if it resolves the issue you see on macOS Sierra.

Bear in mind that the screen artefact you are seeing may be caused by a bug in LiveCode 4.6.4 which only manifests itself on macOS Sierra.
After all, LiveCode 4.6.4 dates back to October 2011 when MacOS X 10.7 Lion was the most recent operating system.

I will be installing macOS Sierra on my development computer shortly to see if I can somehow figure out what is wrong.

Best regards,

Jan Schenkel
Quartam Developer Tools for LiveCode
http://www.quartam.com

JanSchenkel
Site Admin
Posts: 110
Joined: Sun Jul 18, 2010 5:21 pm
Location: Aalst, Belgium
Contact:

Re: Blank page on print preview on Sierra

Post by JanSchenkel » Mon Feb 13, 2017 10:27 pm

Hi Josep,

I finally got around to installing macOS Sierra 10.12, and I can reproduce the problem inside the Quartam Reports Layout Builder application.
This was built with the LiveCode version of the same era, and it too exhibits the ghost window issue when repeatedly previewing+printing the Samples.
Hiding the application and showing it again displayed the ghost window with an incomplete Page Setup dialog, and when I cancelled out of that, it just crashed.

Then I tried to reproduce it inside the LiveCode 4.6.4 IDE - and the same thing happened after numerous attempts.
The stack trace is a bit too long to paste here completely, but this part is relevant:

Code: Select all

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000062694c2f
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x62694c2f:
    mapped file            0000000017782000-0000000019009000 [ 24.5M] r--/r-x SM=ALI  
--> 
    Submap                 0000000090000000-00000000a3800000 [312.0M] r--/rwx SM=SHM  machine-wide VM submap

Application Specific Information:
objc_msgSend() selector name: performSelector:withObject:
Performing @selector(doCancel:) from sender NSButton 0xeff2720

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               	0x9ef2c017 objc_msgSend + 23
1   libsystem_trace.dylib         	0x9f9b2284 _os_activity_initiate + 79
2   com.apple.AppKit              	0x92ce23a0 -[NSApplication(NSResponder) sendAction:to:from:] + 584
3   com.apple.AppKit              	0x927c7256 -[NSControl sendAction:to:] + 85
4   com.apple.AppKit              	0x927c716c __26-[NSCell _sendActionFrom:]_block_invoke + 151
5   libsystem_trace.dylib         	0x9f9b2284 _os_activity_initiate + 79
6   com.apple.AppKit              	0x927c70af -[NSCell _sendActionFrom:] + 120
7   com.apple.AppKit              	0x9280752c -[NSButtonCell _sendActionFrom:] + 105
8   com.apple.AppKit              	0x929fd3bc __48-[NSCell trackMouse:inRect:ofView:untilMouseUp:]_block_invoke.1101 + 35
9   libsystem_trace.dylib         	0x9f9b2284 _os_activity_initiate + 79
10  com.apple.AppKit              	0x927c59bf -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 2390
11  com.apple.AppKit              	0x92807273 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 796
12  com.apple.AppKit              	0x927c42c7 -[NSControl mouseDown:] + 686
13  com.apple.AppKit              	0x92e5471f -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 5864
14  com.apple.AppKit              	0x92e521db -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 5876
15  com.apple.AppKit              	0x92e50769 -[NSWindow(NSEventRouting) sendEvent:] + 547
16  com.apple.AppKit              	0x92e4636e carbonAppWindowMouseHandler + 249
17  com.apple.AppKit              	0x92e44d0d carbonAppWindowHandler + 335
18  com.apple.HIToolbox           	0x93de402e _InvokeEventHandlerUPP(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*, long (*)(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*)) + 26
19  com.apple.HIToolbox           	0x93d8fa92 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 2013
20  com.apple.HIToolbox           	0x93d8ec08 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 419
21  com.apple.HIToolbox           	0x93da0080 SendEventToEventTarget + 34
22  com.apple.HIToolbox           	0x93dc5ba2 ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 2571
23  com.apple.HIToolbox           	0x93d8ff68 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 3251
24  com.apple.HIToolbox           	0x93d8ec08 SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 419
25  com.apple.HIToolbox           	0x93da0080 SendEventToEventTarget + 34
26  com.apple.HIToolbox           	0x93f26d14 ToolboxEventDispatcher + 82
27  com.apple.HIToolbox           	0x93f3467a GetOrPeekEvent + 521
28  com.apple.HIToolbox           	0x93f33fb9 GetNextEventMatchingMask + 463
29  com.apple.HIToolbox           	0x93f33bc8 WNEInternal + 198
30  com.apple.HIToolbox           	0x93f33af4 WaitNextEvent + 47
31  com.runrev.livecode           	0x0016b899 MCScreenDC::handle(double, unsigned char, unsigned char, unsigned char&, unsigned char&) + 1001
32  com.runrev.livecode           	0x00167c67 MCScreenDC::wait(double, unsigned char, unsigned char) + 279
33  com.runrev.livecode           	0x00095b19 X_main_loop_iteration() + 105
34  com.runrev.livecode           	0x000968b1 X_main_loop() + 113
35  com.runrev.livecode           	0x00096a32 main + 338
36  com.runrev.livecode           	0x00003006 _start + 216
37  com.runrev.livecode           	0x00002f2d start + 41
From my admittedly limited knowledge of the inner workings of the LiveCode engine on macOS, this looks like it might be a problem with the 'Carbon' backward compatibility layer in macOS Sierra.
Carbon was the name for the toolbox which allowed developers to write applications in a way very similar to the classic MacOS 9 API instead of completely rewriting them on top of the Cocoa framework.
Apple has declared it 'legacy' technology in MacOS X Snow Leopard 10.6, and deprecated it in OS X Mountain Lion 10.8 <https://en.wikipedia.org/wiki/Carbon_(API)>

In other words, it is not completely surprising that applications which use this older technology stop working properly a few years later.
And LiveCode version 6.7 was a big effort by the LiveCode team to get rid of Carbon and port the engine to Cocoa.
So you may have better luck by upgrading to a more recent version of LiveCode.

Unfortunately, I'm not sure what I can change in Quartam Reports itself to prevent this particular problem - it was built in pure LiveCode, no externals.
During the next few evenings, I will test LiveCode versions later than 4.6.4 to see if they exhibit the same issue.
Hopefully, I can then advise you of a minimum version to use for a rebuild of your application.

I hope that this helped, even if I don't have a definitive solution for you at this point in time.

Best regards,

Jan Schenkel
Quartam Developer Tools for LiveCode
http://www.quartam.com

JosepM
Posts: 28
Joined: Fri Aug 13, 2010 12:26 am

Re: Blank page on print preview on Sierra

Post by JosepM » Mon Jul 10, 2017 11:31 pm

Hi Jan,

Other solution will be print directly to PDF, maybe is more easy? This will fix the issue, almost for me, so I will could preview from the PDF.

It's posible?

Salut,
Josep M

JanSchenkel
Site Admin
Posts: 110
Joined: Sun Jul 18, 2010 5:21 pm
Location: Aalst, Belgium
Contact:

Re: Blank page on print preview on Sierra

Post by JanSchenkel » Tue Jul 11, 2017 8:51 pm

Hi Josep,

The issue of the ghost window is a fundamental incompatibility between that old version 4.6.4 of the LiveCode engine and the new version 10.12 of macOS - there is nothing I can do to fix that, I'm afraid.
Your only option to work around that problem is to use a more recent version of the LiveCode engine. In view of the nature of the problem, that means LiveCode 6.7 or later (given that's when LiveCode transitioned from the legacy Carbon API to the more modern Cocoa framework).

As for PDF export, I will see what I can do for a version after Quartam Reports 1.1.7 - I recall from earlier research that implementing this was doable, except on Windows where the formatForPrinting stack property (required for printing to paper) interferes heavily with printing to a PDF file.

Best regards,

Jan Schenkel.
Quartam Developer Tools for LiveCode
http://www.quartam.com

JosepM
Posts: 28
Joined: Fri Aug 13, 2010 12:26 am

Re: Blank page on print preview on Sierra

Post by JosepM » Tue Jul 11, 2017 11:55 pm

Hi Jan,

Thanks for answer.
OK. Then I must migrate to 6.7.X or directly to 7.0 or better? Can you test it on these versions?

The save as PDF will a nice feature, also with the posibility to integrate digital signature. Today many companies demand that the PDF have their digital signature certificate. Maybe is complex.

Of course, if you need testing or help please send me an email. :)

Salut,
Josep M

Post Reply