View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0036405||Packages||Widgetset||public||2019-12-07 22:06||2019-12-20 19:02|
|Reporter||Dan Hallock||Assigned To||Dmitry Boyarintsev|
|Platform||DARWIN||OS||MacOS||OS Version||Mojave Catalina|
|Product Version||2.0.6||Product Build|
|Target Version||Fixed in Version|
|Summary||0036405: form.show fails to bring requested form on top if prior form.showmodal|
|Description||In 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 Reproduce||Using 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.
|Tags||No tags attached.|
|Fixed in Revision||62413|
multiWindows.zip (4,891 bytes)
||seems to be working in trunk|
||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.|
||I would like to reopen this Issue. I have a new example program which will generate the problem I'm seeing on trunk.|
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)
||please test and close if ok|
||Tested and works on example code and production code. Thanks!|
|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|