[Bug 26670] Atlantis Word Processor window does not appear in task bar

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jul 4 09:04:18 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=26670

Jarek <jarekczek at poczta.onet.pl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jarekczek at poczta.onet.pl

--- Comment #4 from Jarek <jarekczek at poczta.onet.pl> 2011-07-04 09:04:17 CDT ---
(In reply to comment #3)
> Created an attachment (id=34121)
 --> (http://bugs.winehq.org/attachment.cgi?id=34121) [details]
> Revert a part of 61e50e15ba45ad54655f98619f5ef33917033165

I wouldn't call the fun get_window_owner, because it is really
get_window_owner_with_non_zero_size, so the name can be misleading. Maybe
get_window_owner_nzs?

But generally this doesn't lead to a sure solution compatible with windows
behaviour.

This bug is strictly connected with
[url=http://bugs.winehq.org/show_bug.cgi?id=27190]bug 27190[/url]. Delphi app
with a hidden window.

I think I managed to reach the core of these problems. I attach a simple winapi
(source and exe) which creates 3 windows, called 0, 1, 2. The owner of 2 is 1.
All are normal overlapped windows.

On the taskbar there are constantly 2 windows: 0 and 1 (never 2!).

Pressing Alt-tab shows 2 windows: constantly 0 and 1 or 2. Which one of the 2
latter is shown depends on which was the last active. Let's consider a
complicated sequence:
1. activate 1
2. activate 2
3. activate 0
4. activate another app
After it alt-tab allows to switch between 0 or 2.

This behaviour is reasonable. But how does the system know which was the last
active window of the owned bunch 1,2?
GetTopWindow - always 0
GetPreviousWindow/GetNextWindow - 2 always previous to 1
GetActiveWindow - points to window "0", as this is an active window for this
thread. (I checked they all belong to the same thread. Didn't check the active
window, guessing here).

I guess native window manager keeps a variable last_active_of_a_bunch for all
windows without owner. But maybe you have a better explanation. Implementing
such a variable (updateable at set_active_window) would solve the problem. Plus
ability to control window manager and make it show different windows on taskbar
and different on alt-tab panel.

My example points that zero size of a window has nothing to do with the
problem.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list