Qz3rn0 / winbma

Automatically exported from code.google.com/p/winbma
0 stars 0 forks source link

Authentication code UI does not repaint until expires #8

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
0. Not sure if this is significant: two monitors, SC2 runs in primary monitor, 
WinBMA in secondary monitor.
1. Start WinBMA.
2. Start Starcraft2 and wait until is reaching the login phase. 
3. The user cannot read the auth code from WinBMA until it expires and a new 
one is generated (the repaint on numeric control triggers the repaint).

What is the expected output? 
The user can read the current authentication code.

What do you see instead?
The authentication code (as well as the rest of client area) cannot be read.

What version of the product are you using? On what operating system?
WinBMA 2.0.4331.27062 on Windows 7 x64, dual monitors.

Please provide any additional information below.
I didn't read the code (yet), but I suppose the game launching invalidates 
WinBMA client zone and only the progress bar is drawn. Probably a some sort of 
system event, DirectX callback or so should be armed in order to trigger an 
Invalidate on the WinBMA client area. Additionally, a simple 500 msec. timer 
could invalidate the client area as well (if that does not leave artifacts, I 
did not tried it myself).

Original issue reported on code.google.com by cristian...@gmail.com on 25 Nov 2012 at 9:44

GoogleCodeExporter commented 9 years ago
I have tried up to forcing a timer to call a method which calls 
InvalidateVisual on App.MainWindow and on almost all PART_... controls. No 
good. It seems that's a WPF limitation - Win32 apps does not suffer from this. 
Perhaps a control style mask can fix this, but I am no .NET guru.

Original comment by cristian...@gmail.com on 25 Nov 2012 at 4:08