Export to GitHub

miranda - issue #1443

Status bar of contact list window does not fit into window size when resizing.


Posted on Sep 29, 2011 by Helpful Ox

Miranda Version : v0.9.30 Built Sep 12 2011 12:45:35 (applicable for older version too. As a matter of fact, I cannot remember workabel version). Unicode Build : Yes Plugin Version # (if applicable) : clist-nicer 0.9.13

What steps will reproduce the problem? 1. Open contact list window. 2. Try to resize it, no matter enlarge or shrink.

What is the expected result? Expected status bar wiil change its own size to fit new window size.

What happens instead? Status bar does not do that. When expanding width I see status bar of previous size(grip indicator), when shrinking width - grip indicator is invisible(i.e. locate far right). When changing height status bar does not changes its location, i.e. its newly calculated area is empty, but status bar is visible on older place(when changing height only ststus bar behaves correctly, but when changing height and width simultaneously - bug appears). It is possible to fit status bar into window bar by dragging grip a little(it is enough to drag 1px into any direction - statusbar automatically fixes own location and size)

Attachments

Comment #1

Posted on Sep 29, 2011 by Swift Rhino

At Windows Vista it works for me... Are the icons correct or only the grip indicator? Btw: have you skinned the bar? For me there is no grip indicator, when the bar is skinned, neither when it's not skinned and the Option "Draw Background Skin" is activated. Try to uncheck "Draw Background Skin" when its active.

I only saw this bug a while ago at Wine on Ubuntu, but this is okay ;)

Comment #2

Posted on Sep 29, 2011 by Helpful Ox

Are the icons correct or only the grip indicator? Icons and status text are correct. Status bar draws itself correctly, only has wrong size(can be assured when trying to resize it by grip: resize border are drawing while dragging, also SPY++ show control border when seeking for using finder tool). Btw: have you skinned the bar? No, I haven't. Don't have ready made skins, and I'm not an artist to draw them myself, and I really happy with native appearance. In skin property page all checkboxes are unchecked. Option "Draw Background Skin" is activated. This option is not active. And grip indicator is drawn always. Even when "Draw Background Skin" is active - location problen remains - Status Bar is in wrong place.

Comment #3

Posted on Sep 29, 2011 by Massive Giraffe

(No comment was entered for this change.)

Comment #4

Posted on Sep 30, 2011 by Helpful Ox

Aha, 5 minutes digging into plugin source and here is a reason. Reproduce guaranty - In Windows performance settings turn off "Show window contents while dragging" While any window dragging or resizing System and if this option in "on" window generates WM_WINDOWPOSCHANGING message, if "off" - doesn't. I have this option off. So CListNicer does not receives any. But handler of WM_WINDOWPOSCHANGING message(clui.cpp line 1416) is only one place where size of status bar is actually changing(line 1416). No other places found. And handler of WM_SIZE is quite weird. I have suspicions it will do its work(generate WM_WINDOWPOSCHANGING message to do actual resizing) only in one case - when it handle manually sent WM_SIZE message(wparam and lparam compared against 0). By the way, when I turned on "Show window contents while dragging" I got really annoying flickering of status bar and some other elements of clist while resizing window(So I have another reason to turn it off).

Status: New

Labels:
Type-Bug Priority-Medium Component-CList-Nicer