[Libreoffice-commits] .: setup_native/source

Andras Timar timar at kemper.freedesktop.org
Thu May 10 01:46:20 PDT 2012


 setup_native/source/win32/customactions/sellang/sorttree.cxx |   32 ++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

New commits:
commit ce1ac0851fe2e975f3fb47178730b914608610cf
Author: Andras Timar <atimar at suse.com>
Date:   Thu May 10 10:38:20 2012 +0200

    error handling in SortTree custom action
    
    Change-Id: I03a06d09e3e84b6cb13bd68e8be4caebb1b9f5ab

diff --git a/setup_native/source/win32/customactions/sellang/sorttree.cxx b/setup_native/source/win32/customactions/sellang/sorttree.cxx
index 25c6c6d..41695e2 100644
--- a/setup_native/source/win32/customactions/sellang/sorttree.cxx
+++ b/setup_native/source/win32/customactions/sellang/sorttree.cxx
@@ -23,15 +23,45 @@ extern "C" UINT __stdcall SortTree(MSIHANDLE)
     // Sort items (languages) in SelectionTree control, fdo#46355
 
     HWND hwndMSI = FindWindow(TEXT("MsiDialogCloseClass"), NULL);
+    if (hwndMSI == NULL)
+    {
+        OutputDebugString("SortTree: MsiDialogCloseClass not found\n");
+        return ERROR_SUCCESS;
+    }
     HWND hwndTV = FindWindowEx(hwndMSI, NULL, TEXT("SysTreeView32"), NULL);
+    if (hwndTV == NULL)
+    {
+        OutputDebugString("SortTree: SysTreeView32 not found\n");
+        return ERROR_SUCCESS;
+    }
     HTREEITEM treeRoot = TreeView_GetRoot(hwndTV);
+    if (treeRoot == NULL)
+    {
+        OutputDebugString("SortTree: TreeView_GetRoot failed\n");
+        return ERROR_SUCCESS;
+    }
     HTREEITEM optional = TreeView_GetNextSibling(hwndTV, treeRoot);
+    if (optional == NULL)
+    {
+        OutputDebugString("SortTree: Optional Components branch not found\n");
+        return ERROR_SUCCESS;
+    }
     HTREEITEM dicts = TreeView_GetChild(hwndTV, optional);
+    if (dicts == NULL)
+    {
+        OutputDebugString("SortTree: Dictionaries branch not found\n");
+        return ERROR_SUCCESS;
+    }
     TreeView_SortChildren(hwndTV, dicts, TRUE);
     HTREEITEM langs = TreeView_GetNextSibling(hwndTV, optional);
+    if (langs == NULL)
+    {
+        OutputDebugString("SortTree: Additional UI Languages branch not found\n");
+        return ERROR_SUCCESS;
+    }
     TreeView_SortChildren(hwndTV, langs, TRUE);
 
-	return ERROR_SUCCESS;
+    return ERROR_SUCCESS;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list