On Wed, 02 Oct 2013, Iain Patterson escribió:

> Quoth I,
> 
> >I'll have a look this week.
> 
>   It turned out to be a simple bug.  wSwitchPanelSelectFirst() was
> inadvertently returning NULL, thus causing the switchpanel to fail
> to raise the first selected window.

Hi,

I think the problem is in the function wSwitchPanelSelectFirst(), yes, but is 
because the patch removes the WM_ITERATE_ARRAY at the function beginning, and 
moves it to the end. Then, the "if (back) {" block runs before the 
WM_ITERATE_ARRAY. You can undo your patch and then apply only this change to 
see it.

I was thinking in your patch. The idea is nice, because it avoid paint the icon 
 array every time the user hit "Alt+Tab" but I am not sure if this is the right 
way to do it. I am not sure why :-), but I don't like the flags to store the 
info and the "WMReplaceInArray" call.

I tried to work in your way, but the problem is I cannot paint the square that 
select the icon (because the function doesn't paint it).

Probably the best way is paint the icons one time and re-paint only the icon 
that leaves the selection, and the new icon selected, because we need paint 
these icons. We know if we are going back or forward, so, we could call the 
function to repaint these icons.

I spent some time trying to understand the patch, but I am not sure that I 
understand everyting. Perhaps you can help more on it. I hope this info can 
help you.

Attached are the patches I used to test the problem, if you need them.

Best regards,
kix
-- 
||// //\\// Rodolfo "kix" Garcia
||\\// //\\ http://www.kix.es/

Attachment: swtchpnl.tgz
Description: application/gtar-compressed

Reply via email to