Jacek Caban : mshtml: Move remaining status queries to command tables.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jun 11 08:46:34 CDT 2007


Module: wine
Branch: master
Commit: 78509882e7076f13720aa984cecb09bf7b605b24
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=78509882e7076f13720aa984cecb09bf7b605b24

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Jun 10 11:34:00 2007 +0200

mshtml: Move remaining status queries to command tables.

---

 dlls/mshtml/olecmd.c |   54 ++++++++++++++++++++++++++-----------------------
 1 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/dlls/mshtml/olecmd.c b/dlls/mshtml/olecmd.c
index b846588..2c5a8ba 100644
--- a/dlls/mshtml/olecmd.c
+++ b/dlls/mshtml/olecmd.c
@@ -619,6 +619,26 @@ static HRESULT exec_baselinefont3(HTMLDocument *This, DWORD cmdexecopt, VARIANT
     return S_OK;
 }
 
+static HRESULT query_enabled_stub(HTMLDocument *This, OLECMD *cmd)
+{
+    switch(cmd->cmdID) {
+    case IDM_PRINT:
+        FIXME("CGID_MSHTML: IDM_PRINT\n");
+        cmd->cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+        break;
+    case IDM_BLOCKDIRLTR:
+        FIXME("CGID_MSHTML: IDM_BLOCKDIRLTR\n");
+        cmd->cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+        break;
+    case IDM_BLOCKDIRRTL:
+        FIXME("CGID_MSHTML: IDM_BLOCKDIRRTL\n");
+        cmd->cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
+        break;
+    }
+
+    return S_OK;
+}
+
 static const struct {
     OLECMDF cmdf;
     HRESULT (*func)(HTMLDocument*,DWORD,VARIANT*,VARIANT*);
@@ -668,12 +688,14 @@ static const cmdtable_t base_cmds[] = {
     {IDM_COPY,             query_mshtml_copy,     exec_mshtml_copy},
     {IDM_PASTE,            query_mshtml_paste,    exec_mshtml_paste},
     {IDM_CUT,              query_mshtml_cut,      exec_mshtml_cut},
-    {IDM_BROWSEMODE,       NULL,           exec_browsemode},
-    {IDM_EDITMODE,         NULL,           exec_editmode},
-    {IDM_PRINT,            NULL,           exec_print},
-    {IDM_SETDIRTY,         NULL,           exec_setdirty},
-    {IDM_HTMLEDITMODE,     NULL,           exec_htmleditmode},
-    {IDM_BASELINEFONT3,    NULL,           exec_baselinefont3},
+    {IDM_BROWSEMODE,       NULL,                  exec_browsemode},
+    {IDM_EDITMODE,         NULL,                  exec_editmode},
+    {IDM_PRINT,            query_enabled_stub,    exec_print},
+    {IDM_SETDIRTY,         NULL,                  exec_setdirty},
+    {IDM_HTMLEDITMODE,     NULL,                  exec_htmleditmode},
+    {IDM_BASELINEFONT3,    NULL,                  exec_baselinefont3},
+    {IDM_BLOCKDIRLTR,      query_enabled_stub,    NULL},
+    {IDM_BLOCKDIRRTL,      query_enabled_stub,    NULL},
     {0,NULL,NULL}
 };
 
@@ -763,26 +785,8 @@ static HRESULT WINAPI OleCommandTarget_QueryStatus(IOleCommandTarget *iface, con
             HRESULT hres = query_from_table(This, base_cmds, prgCmds+i);
             if(hres == OLECMDERR_E_NOTSUPPORTED)
                 hres = query_from_table(This, editmode_cmds, prgCmds+i);
-            if(hres != OLECMDERR_E_NOTSUPPORTED)
-                continue;
-
-            switch(prgCmds[i].cmdID) {
-            case IDM_PRINT:
-                FIXME("CGID_MSHTML: IDM_PRINT\n");
-                prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
-                break;
-            case IDM_BLOCKDIRLTR:
-                FIXME("CGID_MSHTML: IDM_BLOCKDIRLTR\n");
-                prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
-                break;
-            case IDM_BLOCKDIRRTL:
-                FIXME("CGID_MSHTML: IDM_BLOCKDIRRTL\n");
-                prgCmds[i].cmdf = OLECMDF_SUPPORTED|OLECMDF_ENABLED;
-                break;
-            default:
+            if(hres == OLECMDERR_E_NOTSUPPORTED)
                 FIXME("CGID_MSHTML: unsupported cmdID %d\n", prgCmds[i].cmdID);
-                prgCmds[i].cmdf = 0;
-            }
         }
 
         hres = prgCmds[i-1].cmdf ? S_OK : OLECMDERR_E_NOTSUPPORTED;




More information about the wine-cvs mailing list