[Libreoffice-commits] .: Branch 'libreoffice-3-5' - vcl/win

Norbert Thiebaud nthiebaud at kemper.freedesktop.org
Thu May 10 11:49:20 PDT 2012


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

New commits:
commit 0a2f81a35d338c8e2d2da55df3fb221fa1de5bba
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu May 10 13:49:01 2012 -0500

    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
    Signed-off-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/vcl/win/source/window/salobj.cxx b/vcl/win/source/window/salobj.cxx
index 29125c0..5c847b9 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