We have a Delphi app (XE8) that I recently found out runs almost perfectly on wine (OSX 10.6), except for one thing. Say the user selects a menu option on the main form that opens another form (like 'File|New ...'). The new form shows, and partially covers the main form. The problem is there is no way to get the first form to come back to the top. Clicking on the main form does not bring it back on top of the child form like it does in windows. If two child forms are showing, again, clicking on one child does not bring it to the foreground--it seems to be focusable (you can drag it if you can get a hold of it), but whatever part of it is covered by another form remains covered
This behavior occurs both when we use the winebottler and when we use the crossover app.
Are we missing some library in the bottling process? Or maybe just completely misunderstanding how 'windows' works on OSX? Is our windows app poorly designed? Do we need to redesign the app to just use one form (and launch everything using tabs instead of forms)?
Edit: Here is a sample delphi project that illustrates the issue
program ProjectM;
uses
Vcl.Forms,
Unit1m in 'Unit1m.pas' {fmain},
Unit2m in 'Unit2m.pas' {form2m},
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := False;
Application.CreateForm(Tfmain, fmain);
Application.CreateForm(Tform2m, form2m);
Application.Run;
end.
In unit1 we have a button to launch the second form
procedure Tfmain.Button1Click(Sender: TObject);
begin
form2m.show
end;
Run the .exe, the main form shows; press the button: The new form overlays the main form.
In windows, click the title bar of the main form--it comes back to the foreground.
In winebottler, click the title bar of the main form, it does not come back up; even tho it looks like the title bar gets focused, the rest of the form is still hidden--see screenshot