Because the code isn't thread safe.

    Indeed sir you are correct.

The question is not if Windows sends WM_COMMAND, but if the control handles WM_COMMAND.

    I should have stated it a bit more clearly. From my tests, the edit windows context menu for clip board operations does not send the WM_COMMAND message to the owning edit control window.
But i see you point, does the edit control do anything with WM_COMMAND messages? Either way wine edit control only handles clipboard operations for WM_COMMAND, which is incorrect.

And have you ever seen Windows send a WM_MENUSELECT to an edit control?
    Yes for the edit windows context menu it sends the message every time a menu item is highlighted.

I redid the patch and submitted it to wine. Did something a bit more logical, send the clipboard message based on return value of TrackPopupMenu.

martin

Date: Wed, 22 Apr 2009 00:29:15 +0200
From: timo.kreuzer@web.de
To: ros-dev@reactos.org
Subject: Re: [ros-dev] [ros-diffs] [mjmartin] 40630: - edit.c: Add TPM_RETURNCMD flag to TrackPopupMenu so that WM_COMMAND messages are not sent to the edit control. Use WM_MENUSELECT vice WM_COMMAND to determine which clipboard message to send. - Fixes vb apps e

Michael Martin wrote:
I submitted the same changes to wine. Do we need to revert and wait till they make the changes, which may very well be different?
Even though I usually frown upon static variables myself, can you explain why using a static variable here a bad idea?
Because the code isn't thread safe.

Fairly certain the problems in edit.c, did tests on XP and edit controls do not receive WM_COMMAND from menu controls.
The question is not if Windows sends WM_COMMAND, but if the control handles WM_COMMAND. And have you ever seen Windows send a WM_MENUSELECT to an edit control?

martin


Date: Tue, 21 Apr 2009 17:48:41 +0200
From: timo.kreuzer@web.de
To: ros-dev@reactos.org
Subject: Re: [ros-dev] [ros-diffs] [mjmartin] 40630: - edit.c: Add TPM_RETURNCMD flag to TrackPopupMenu so that WM_COMMAND messages are not sent to the edit control. Use WM_MENUSELECT vice WM_COMMAND to determine which clipboard message to send. - Fixes vb apps edit context menu and maybe others. Bug #4404

edit.c is shared with wine. Also using a static variable here looks like
a bad idea.
I would think that the problem is somewhere else.





Rediscover HotmailŪ: Get e-mail storage that grows with you. Check it out.