http://bugs.winehq.org/show_bug.cgi?id=36842
Bug ID: 36842 Summary: Can't set a static crontrol's text to empty by pssing NULL pointer Product: Wine Version: 1.6.2 Hardware: x86 OS: Mac OS X Status: UNCONFIRMED Severity: minor Priority: P2 Component: comctl32 Assignee: wine-bugs@winehq.org Reporter: tulio150@mailinator.com
On Windows, when you call SetWindowText(NULL) on a static control, it clears the control to an empty string. On Wine the call has no effect, the text just remains as it was before, you have to call SetWindowText("") to clear the static control.
http://bugs.winehq.org/show_bug.cgi?id=36842
tulio150@mailinator.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Can't set a static |Can't set a static |crontrol's text to empty by |crontrol's text to empty by |pssing NULL pointer |passing NULL pointer
http://bugs.winehq.org/show_bug.cgi?id=36842
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- Originally Static control is a user32 control. Do you mean that one or you're actually using Static from comctl32 v6?
http://bugs.winehq.org/show_bug.cgi?id=36842
--- Comment #2 from tulio150@mailinator.com --- comctl32 v6
https://bugs.winehq.org/show_bug.cgi?id=36842
Henrik Haftmann heha@hrz.tu-chemnitz.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |heha@hrz.tu-chemnitz.de
--- Comment #3 from Henrik Haftmann heha@hrz.tu-chemnitz.de --- Generally, not only controls but all windows (i.e. title bars) accept a NULL pointer to clear the text. This behaviour is well-known to Win32 programmers and was the same in Win16.
https://bugs.winehq.org/show_bug.cgi?id=36842
--- Comment #4 from Henrik Haftmann heha@hrz.tu-chemnitz.de --- Created attachment 50220 --> https://bugs.winehq.org/attachment.cgi?id=50220 Simple Win32 program that shows the effect
When the user presses "Click me", a SetWindowText() / SetDlgItemText() call with NULL string parameter is generated with different target windows, also for the main window. While main window's WM_SETTEXT message processing, a MessageBox() shows the actual lParam value, which is indeed 0. The different child windows are STATIC, BUTTON, EDIT, and COMBOBOX.
The Windows behaviour is that all controls are cleared out, even the top-left static control. The windows screenshot shows the controls before the button is clicked.
The wine behaviour is similar, but the static control remains untouched. Therefore, I can confirm the bug.
Furthermore, the behaviour of shlwapi.dll's wnsprintf() is different (i.e. a second bug): While Windows substitutes nothing for "%s" format specifier, wine substitutes the null pointer with "<null>".
Some software may rely on the fact that string null pointers are handled like zero-length strings in many (or possibly all) places of the Win32 API.
By the way, the second button "GetClassName" works the same way in Windows and wine, therefore, it shows correct operation for integer WNDCLASS class names, i.e. excellent emulation of a very basic but rarely used feature.
https://bugs.winehq.org/show_bug.cgi?id=36842
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|comctl32 |user32 Ever confirmed|0 |1
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- Patch sent https://www.winehq.org/pipermail/wine-patches/2015-March/138072.html.
https://bugs.winehq.org/show_bug.cgi?id=36842
--- Comment #6 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Nikolay Sivov from comment #5)
Patch sent https://www.winehq.org/pipermail/wine-patches/2015-March/138072.html.
Commited: http://source.winehq.org/git/wine.git/?a=commit;h=c5dda71cd472c3438e54d82ffe...
https://bugs.winehq.org/show_bug.cgi?id=36842
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c5dda71cd472c3438e54d82ffe8 | |35876c160c8be Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- Yes, it should work now after c5dda71cd472c3438e54d82ffe835876c160c8be.
https://bugs.winehq.org/show_bug.cgi?id=36842
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.40.