Commit de22c758 authored by Cyril Deguet's avatar Cyril Deguet

* all: fixed segfaults when initialization fails

parent b16f809c
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* skin_main.cpp * skin_main.cpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: skin_main.cpp,v 1.2 2004/01/11 17:12:17 asmax Exp $ * $Id: skin_main.cpp,v 1.3 2004/01/25 13:59:33 asmax Exp $
* *
* Authors: Cyril Deguet <asmax@via.ecp.fr> * Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr> * Olivier Teulire <ipkiss@via.ecp.fr>
...@@ -96,6 +96,11 @@ static int Open( vlc_object_t *p_this ) ...@@ -96,6 +96,11 @@ static int Open( vlc_object_t *p_this )
p_intf->p_sys->p_theme = NULL; p_intf->p_sys->p_theme = NULL;
// Initialize singletons // Initialize singletons
if( OSFactory::instance( p_intf ) == NULL )
{
msg_Err( p_intf, "Cannot initialize OSFactory" );
return VLC_EGENERIC;
}
if( AsyncQueue::instance( p_intf ) == NULL ) if( AsyncQueue::instance( p_intf ) == NULL )
{ {
msg_Err( p_intf, "Cannot initialize AsyncQueue" ); msg_Err( p_intf, "Cannot initialize AsyncQueue" );
...@@ -106,11 +111,6 @@ static int Open( vlc_object_t *p_this ) ...@@ -106,11 +111,6 @@ static int Open( vlc_object_t *p_this )
msg_Err( p_intf, "Cannot instanciate Interpreter" ); msg_Err( p_intf, "Cannot instanciate Interpreter" );
return VLC_EGENERIC; return VLC_EGENERIC;
} }
if( OSFactory::instance( p_intf ) == NULL )
{
msg_Err( p_intf, "Cannot initialize OSFactory" );
return VLC_EGENERIC;
}
if( VarManager::instance( p_intf ) == NULL ) if( VarManager::instance( p_intf ) == NULL )
{ {
msg_Err( p_intf, "Cannot instanciate VarManager" ); msg_Err( p_intf, "Cannot instanciate VarManager" );
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* x11_display.cpp * x11_display.cpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: x11_display.cpp,v 1.1 2004/01/03 23:31:34 asmax Exp $ * $Id: x11_display.cpp,v 1.2 2004/01/25 13:59:33 asmax Exp $
* *
* Authors: Cyril Deguet <asmax@via.ecp.fr> * Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr> * Olivier Teulire <ipkiss@via.ecp.fr>
...@@ -51,12 +51,6 @@ X11Display::X11Display( intf_thread_t *pIntf ): SkinObject( pIntf ), ...@@ -51,12 +51,6 @@ X11Display::X11Display( intf_thread_t *pIntf ): SkinObject( pIntf ),
int depth = DefaultDepth( m_pDisplay, screen ); int depth = DefaultDepth( m_pDisplay, screen );
int order = ImageByteOrder( m_pDisplay ); int order = ImageByteOrder( m_pDisplay );
// Create a graphics context that doesn't generate GraphicsExpose events
XGCValues xgcvalues;
xgcvalues.graphics_exposures = False;
m_gc = XCreateGC( m_pDisplay, DefaultRootWindow( m_pDisplay ),
GCGraphicsExposures, &xgcvalues );
// Template for looking up the XVisualInfo // Template for looking up the XVisualInfo
XVisualInfo xVInfoTemplate; XVisualInfo xVInfoTemplate;
xVInfoTemplate.screen = screen; xVInfoTemplate.screen = screen;
...@@ -127,6 +121,15 @@ X11Display::X11Display( intf_thread_t *pIntf ): SkinObject( pIntf ), ...@@ -127,6 +121,15 @@ X11Display::X11Display( intf_thread_t *pIntf ): SkinObject( pIntf ),
{ {
XFree( pVInfo ); XFree( pVInfo );
} }
// Create a graphics context that doesn't generate GraphicsExpose events
if( m_pDisplay )
{
XGCValues xgcvalues;
xgcvalues.graphics_exposures = False;
m_gc = XCreateGC( m_pDisplay, DefaultRootWindow( m_pDisplay ),
GCGraphicsExposures, &xgcvalues );
}
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* x11_factory.cpp * x11_factory.cpp
***************************************************************************** *****************************************************************************
* Copyright (C) 2003 VideoLAN * Copyright (C) 2003 VideoLAN
* $Id: x11_factory.cpp,v 1.1 2004/01/03 23:31:34 asmax Exp $ * $Id: x11_factory.cpp,v 1.2 2004/01/25 13:59:33 asmax Exp $
* *
* Authors: Cyril Deguet <asmax@via.ecp.fr> * Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr> * Olivier Teulire <ipkiss@via.ecp.fr>
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
#include "x11_tooltip.hpp" #include "x11_tooltip.hpp"
X11Factory::X11Factory( intf_thread_t *pIntf ): OSFactory( pIntf ) X11Factory::X11Factory( intf_thread_t *pIntf ): OSFactory( pIntf ),
m_pDisplay( NULL ), m_pTimerLoop( NULL )
{ {
// see init() // see init()
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment