[Libreoffice-commits] core.git: vcl/source

Chris Sherlock chris.sherlock79 at gmail.com
Thu May 1 06:04:48 PDT 2014


 vcl/source/outdev/nativecontrols.cxx |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

New commits:
commit 68bfb2a082cc8def86d9706f3328d39d585eecfb
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date:   Thu May 1 22:56:17 2014 +1000

    coverity#1209550 Unchecked dynamic_cast
    
    Dynamic cast can be dangerous - if the cast fails then it returns NULL.
    Coverity picked this up - it could effect
    Window::IsNativeWidgetEndabled(). Hopefully I'll get rid of this when I
    remove meOutDevType during work on fdo#74702.
    
    Change-Id: Id6df1eeff716a6acd1b108b5e1e4674e819afe3d

diff --git a/vcl/source/outdev/nativecontrols.cxx b/vcl/source/outdev/nativecontrols.cxx
index 28e2d35..325320c 100644
--- a/vcl/source/outdev/nativecontrols.cxx
+++ b/vcl/source/outdev/nativecontrols.cxx
@@ -32,7 +32,19 @@ static bool EnableNativeWidget( const OutputDevice& i_rDevice )
     {
 
     case OUTDEV_WINDOW:
-        return dynamic_cast< const Window* >( &i_rDevice )->IsNativeWidgetEnabled();
+        {
+            const Window* pWindow = dynamic_cast< const Window* >( &i_rDevice );
+            if (pWindow)
+            {
+                return pWindow->IsNativeWidgetEnabled();
+            }
+            else
+            {
+                SAL_WARN ("vcl.gdi", "Could not cast i_rDevice to Window");
+                assert (pWindow);
+                return false;
+            }
+        }
 
     case OUTDEV_VIRDEV:
     {


More information about the Libreoffice-commits mailing list