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?
Fairly certain the problems in edit.c, did tests on XP and edit controls do not 
receive WM_COMMAND from menu controls.

martin


> Date: Tue, 21 Apr 2009 17:48:41 +0200
> From: [email protected]
> To: [email protected]
> 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.
> 
> [email protected] schrieb:
> > Author: mjmartin
> > Date: Tue Apr 21 08:45:08 2009
> > New Revision: 40630
> >
> > URL: http://svn.reactos.org/svn/reactos?rev=40630&view=rev
> > Log:
> > - 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
> >
> > Modified:
> >     trunk/reactos/dll/win32/user32/controls/edit.c
> >
> > Modified: trunk/reactos/dll/win32/user32/controls/edit.c
> > URL: 
> > http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/controls/edit.c?rev=40630&r1=40629&r2=40630&view=diff
> > ==============================================================================
> > --- trunk/reactos/dll/win32/user32/controls/edit.c [iso-8859-1] (original)
> > +++ trunk/reactos/dll/win32/user32/controls/edit.c [iso-8859-1] Tue Apr 21 
> > 08:45:08 2009
> > @@ -255,7 +255,7 @@
> >   * WM_XXX message handlers
> >   */
> >  static LRESULT     EDIT_WM_Char(EDITSTATE *es, WCHAR c);
> > -static void        EDIT_WM_Command(EDITSTATE *es, INT code, INT id, HWND 
> > conrtol);
> > +static void        EDIT_WM_MenuSelect(EDITSTATE *es, INT code, INT id, 
> > HWND conrtol);
> >  static void        EDIT_WM_ContextMenu(EDITSTATE *es, INT x, INT y);
> >  static void        EDIT_WM_Copy(EDITSTATE *es);
> >  static LRESULT     EDIT_WM_Create(EDITSTATE *es, LPCWSTR name);
> > @@ -947,8 +947,8 @@
> >             EDIT_WM_Clear(es);
> >             break;
> >  
> > -   case WM_COMMAND:
> > -           EDIT_WM_Command(es, HIWORD(wParam), LOWORD(wParam), 
> > (HWND)lParam);
> > +   case WM_MENUSELECT:
> > +           EDIT_WM_MenuSelect(es, HIWORD(wParam), LOWORD(wParam), 
> > (HWND)lParam);
> >             break;
> >  
> >          case WM_CONTEXTMENU:
> > @@ -4224,12 +4224,17 @@
> >   * WM_COMMAND
> >   *
> >   */
> > -static void EDIT_WM_Command(EDITSTATE *es, INT code, INT id, HWND control)
> > -{
> > -   if (code || control)
> > +static void EDIT_WM_MenuSelect(EDITSTATE *es, INT code, INT id, HWND 
> > control)
> > +{
> > +
> > +   static INT MenuSelected;
> > +
> > +   if (id != 0) {
> > +           MenuSelected = id;
> >             return;
> > -
> > -   switch (id) {
> > +   }
> > +
> > +   switch (MenuSelected) {
> >             case EM_UNDO:
> >                          SendMessageW(es->hwndSelf, WM_UNDO, 0, 0);
> >                     break;
> > @@ -4308,7 +4313,7 @@
> >              y = rc.top + (rc.bottom - rc.top) / 2;
> >          }
> >  
> > -   TrackPopupMenu(popup, TPM_LEFTALIGN | TPM_RIGHTBUTTON, x, y, 0, 
> > es->hwndSelf, NULL);
> > +   TrackPopupMenu(popup, TPM_LEFTALIGN | TPM_RIGHTBUTTON | TPM_RETURNCMD, 
> > x, y, 0, es->hwndSelf, NULL);
> >     DestroyMenu(menu);
> >  }
> >  
> >
> >
> >   
> 
> _______________________________________________
> Ros-dev mailing list
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev

_________________________________________________________________
Rediscover HotmailĀ®: Get e-mail storage that grows with you. 
http://windowslive.com/RediscoverHotmail?ocid=TXT_TAGLM_WL_HM_Rediscover_Storage2_042009
_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to