winex11.drv: possible fix for thick border around utility window in DatePicker

a_villacis at palosanto.com a_villacis at palosanto.com
Sun Sep 30 02:00:19 CDT 2007


In 0.9.46 there is a regression on Visual Basic applications that use the
DatePicker widget. The DatePicker widget looks like a standard drop-down
combo,
but the drop-down shows a little calendar to select a date. In current git
(0.9.46) the drop-down calendar is (incorrectly) shown with a thick border
and
(disabled) decorations in Metacity. Windows XP-SP2 shows the same drop-down
calendar with a 1-px black border and no decorations at all.

I added a FIXME to dump the Windows styles set by the app for this calendar:

(DatePicker)
fixme:x11drv:X11DRV_set_wm_hints X11DRV_set_wm_hints: style=0x94800000
ex_style=0x00000000
style=WS_POPUP|WS_VISIBLE|WS_CLIPSIBLINGS|WS_BORDER
ws_style=0

For comparison, here is the same output for a standard drop-down list, which
seems to work "correctly":

(drop-down combo)
fixme:x11drv:X11DRV_set_wm_hints X11DRV_set_wm_hints: style=0x54808041
ex_style=0x00000088
style=WS_CHILD|WS_VISIBLE|WS_CLIPSIBLINGS|WS_BORDER|0x8041
ws_style=WS_EX_TOPMOST|WS_EX_TOOLWINDOW

The style= and ws_style= lines are my own decoding of the value.

It seems that, when presented with a combination of WS_POPUP and WS_BORDER
without any extended style, the window is supposed to be shown with a thin
border (a 1px border in Windows). I still have not found a window style that
makes a X window show a thin border, and the nearest thing in looks is no
border at all. Please comment on this patch, as I don't think it is exactly
sane.

Changelog:
* Deactivate WS_BORDER when present with WS_POPUP
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine-winex11.drv-WS_POPUP-with-WS_BORDER.patch
Type: text/x-patch
Size: 846 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070930/3026ec08/attachment.bin 


More information about the wine-patches mailing list