[Libreoffice-commits] .: vcl/win

Tor Lillqvist tml at kemper.freedesktop.org
Thu May 10 11:34:23 PDT 2012


 vcl/win/source/window/salobj.cxx |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

New commits:
commit 44e52d6698742edc8295bdcb7ad06ff370e5e6a6
Author: Tor Lillqvist <tlillqvist at suse.com>
Date:   Thu May 10 21:26:05 2012 +0300

    fdo#45081: We never registered the SAL_OBJECT_CHILDCLASSNAMEA window class
    
    A crucial line of code that called RegisterClassExA() for that window
    class had been deleted by accident in commit
    cda4a293608514783d38d470799cfbf97b245cc6 "Code cleanup" in May 2011,
    whoa. So apparently that window class is not needed for much except
    embedded video in Impress?
    
    Change-Id: I I19e70cefcf47aaf8a12a62539e0dacc5adb3c3b1

diff --git a/vcl/win/source/window/salobj.cxx b/vcl/win/source/window/salobj.cxx
index e91ca8d..cbaef77 100644
--- a/vcl/win/source/window/salobj.cxx
+++ b/vcl/win/source/window/salobj.cxx
@@ -559,7 +559,8 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
             aWndClassEx.hbrBackground   = (HBRUSH)(COLOR_WINDOW+1);
             aWndClassEx.lpfnWndProc     = SalSysObjChildWndProcA;
             aWndClassEx.lpszClassName   = SAL_OBJECT_CHILDCLASSNAMEA;
-            pSalData->mbObjClassInit = TRUE;
+            if ( RegisterClassExA( &aWndClassEx ) )
+                pSalData->mbObjClassInit = TRUE;
         }
     }
 
@@ -593,6 +594,15 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
 
         if ( !hWndChild )
         {
+#if OSL_DEBUG_LEVEL > 1
+            char *msg = NULL;
+            FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER
+                          |FORMAT_MESSAGE_IGNORE_INSERTS
+                          |FORMAT_MESSAGE_FROM_SYSTEM,
+                           NULL, GetLastError(), 0,
+                           (LPSTR) &msg, 0, NULL);
+            MessageBoxA(NULL, msg, "CreateWindowExA failed", MB_OK);
+#endif
             delete pObject;
             return NULL;
         }


More information about the Libreoffice-commits mailing list