View Issue Details

IDProjectCategoryView StatusLast Update
0036405PackagesWidgetsetpublic2019-12-20 19:02
ReporterDan HallockAssigned ToDmitry Boyarintsev 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionreopened 
PlatformDARWINOSMacOS OS VersionMojave Catalina
Product Version2.0.6Product Build 
Target VersionFixed in Version 
Summary0036405: form.show fails to bring requested form on top if prior form.showmodal
DescriptionIn my production app, the main form will show a 'login' form modally when it is first shown.

In Windows, the main form will then properly show other forms.

In Mac OS (only tested on cocoa), the loginform.showmodal works properly, but then other form.shows will not display.

IF you click on the app in the app bar, then the other work WILL show and at that point it starts working properly.
Steps To ReproduceUsing the included test application,

. run the application. Form1 (main form) is shown. It in turn calls form3 using form3.showmodal. Form 3 is properly displayed.

. Press on EXIT in form 3 to return to form 1. This will work correct.

. Press on 'form2.show' button to do form2.show. In MacOS, the focus is lost from form1, but form2 does not appear (in Windows, it would appear).

. You can press ESC which will return focus for form1 OR click on app in app bar to see form2.

. If you repeat the above test, but click on form2.showmodal (which should be labeled form3.showmodal), showmodal will work correctly here. It is only form2.show that fails.
TagsNo tags attached.
Fixed in Revision62413
LazTarget-
WidgetsetCocoa
Attached Files

Activities

Dan Hallock

2019-12-07 22:06

reporter  

multiWindows.zip (4,891 bytes)

Dmitry Boyarintsev

2019-12-08 05:22

developer   ~0119687

seems to be working in trunk

Dan Hallock

2019-12-10 00:19

reporter   ~0119721

Argh! I got trunk working on my Mac (mojave), and with trunk the example code does work, but my production application has the same problem.

Dan Hallock

2019-12-14 02:37

reporter   ~0119830

I would like to reopen this Issue. I have a new example program which will generate the problem I'm seeing on trunk.

Dan Hallock

2019-12-14 02:44

reporter   ~0119831

In the sample, modalNonmodal program:

. when prog starts, it starts in form1 (main form).
. during form1.activate, it will form2.showmodal to open form2 and display it.
. Once you exit form2, form 1 will be displayed with some options.
. Pressing show will execute form2.show. If this is done first, it will fail (macOS, but not windows).
     .. by fail, I mean form1 will loose focus, but form2 will not be displayed.
. If you press showMod that will execute form2.showmodal which will work.

This works in windows Lazarus 2.02. It fails in MacOS Lazarus 2.0.6, and trunk.

modalNonModal.zip (129,973 bytes)

Dmitry Boyarintsev

2019-12-18 20:18

developer   ~0119919

please test and close if ok

Dan Hallock

2019-12-20 19:02

reporter   ~0119977

Tested and works on example code and production code. Thanks!

Issue History

Date Modified Username Field Change
2019-12-07 22:06 Dan Hallock New Issue
2019-12-07 22:06 Dan Hallock File Added: multiWindows.zip
2019-12-08 05:22 Dmitry Boyarintsev Assigned To => Dmitry Boyarintsev
2019-12-08 05:22 Dmitry Boyarintsev Status new => resolved
2019-12-08 05:22 Dmitry Boyarintsev Resolution open => fixed
2019-12-08 05:22 Dmitry Boyarintsev LazTarget => -
2019-12-08 05:22 Dmitry Boyarintsev Widgetset Cocoa => Cocoa
2019-12-08 05:22 Dmitry Boyarintsev Note Added: 0119687
2019-12-10 00:19 Dan Hallock Note Added: 0119721
2019-12-14 02:37 Dan Hallock Status resolved => assigned
2019-12-14 02:37 Dan Hallock Resolution fixed => reopened
2019-12-14 02:37 Dan Hallock Note Added: 0119830
2019-12-14 02:44 Dan Hallock File Added: modalNonModal.zip
2019-12-14 02:44 Dan Hallock Note Added: 0119831
2019-12-18 20:18 Dmitry Boyarintsev Status assigned => resolved
2019-12-18 20:18 Dmitry Boyarintsev Fixed in Revision => 62413
2019-12-18 20:18 Dmitry Boyarintsev Widgetset Cocoa => Cocoa
2019-12-18 20:18 Dmitry Boyarintsev Note Added: 0119919
2019-12-20 19:02 Dan Hallock Note Added: 0119977
2019-12-20 19:02 Dan Hallock Status resolved => closed