Commit 798c883b authored by Gildas Bazin's avatar Gildas Bazin

* modules/gui/skins2/*: fixed a whole bunch of memory leaks.

parent 799d80ce
......@@ -186,14 +186,14 @@ VarBool *Interpreter::getVarBool( const string &rName, Theme *pTheme )
{
VarManager *pVarManager = VarManager::instance( getIntf() );
// Convert the expression into Reverse Polish Notation
ExprEvaluator *pEvaluator = new ExprEvaluator( getIntf() );
pEvaluator->parse( rName );
// Convert the expression into Reverse Polish Notation
ExprEvaluator evaluator( getIntf() );
evaluator.parse( rName );
list<VarBool*> varStack;
// Get the first token from the RPN stack
string token = pEvaluator->getToken();
string token = evaluator.getToken();
while( !token.empty() )
{
if( token == "and" )
......@@ -295,7 +295,7 @@ VarBool *Interpreter::getVarBool( const string &rName, Theme *pTheme )
varStack.push_back( pVar );
}
// Get the first token from the RPN stack
token = pEvaluator->getToken();
token = evaluator.getToken();
}
// The stack should contain a single variable
......
......@@ -149,11 +149,13 @@ bool XMLParser::parse()
}
handleBeginElement( eltName, attributes );
free( eltName );
map<const char*, const char*, ltstr> ::iterator it =
attributes.begin();
while( it != attributes.end() )
{
free( (char *)it->first );
free( (char *)it->second );
it++;
}
......
......@@ -45,8 +45,7 @@ void Theme::loadConfig()
// Get config from vlcrc file
char *save = config_GetPsz( getIntf(), "skins2-config" );
if( save == NULL )
return;
if( !save ) return;
// Initialization
map<string, TopWindowPtr>::const_iterator it;
......@@ -75,6 +74,7 @@ void Theme::loadConfig()
// Next window
i++;
}
free( save );
}
......
......@@ -97,6 +97,7 @@ bool ThemeLoader::load( const string &fileName )
// Show the windows
pNewTheme->getWindowManager().showAll();
}
if( skin_last ) free( skin_last );
return true;
}
......@@ -244,6 +245,7 @@ bool ThemeLoader::findThemeFile( const string &rootDir, string &themeFilePath )
// Can we find the theme file in this subdirectory?
if( findThemeFile( newURI, themeFilePath ) )
{
closedir( pCurrDir );
return true;
}
}
......@@ -254,6 +256,7 @@ bool ThemeLoader::findThemeFile( const string &rootDir, string &themeFilePath )
string( pDirContent->d_name ) )
{
themeFilePath = newURI;
closedir( pCurrDir );
return true;
}
}
......@@ -262,6 +265,7 @@ bool ThemeLoader::findThemeFile( const string &rootDir, string &themeFilePath )
pDirContent = readdir( pCurrDir );
}
closedir( pCurrDir );
return false;
}
......
......@@ -135,6 +135,8 @@ void ThemeRepository::parseDirectory( const string &rDir )
pDirContent = readdir( pDir );
}
closedir( pDir );
}
......
......@@ -34,7 +34,7 @@ Playlist::Playlist( intf_thread_t *pIntf ): VarList( pIntf )
m_pPlaylist = pIntf->p_sys->p_playlist;
// Try to guess the current charset
char *pCharset = (char*)malloc( 100 );
char *pCharset;
vlc_current_charset( &pCharset );
iconvHandle = vlc_iconv_open( "UTF-8", pCharset );
msg_Dbg( pIntf, "Using character encoding: %s", pCharset );
......
......@@ -211,8 +211,10 @@ X11Display::X11Display( intf_thread_t *pIntf ): SkinObject( pIntf ),
// Set an empty mask for the window
Region mask = XCreateRegion();
XShapeCombineRegion( m_pDisplay, m_mainWindow, ShapeBounding, 0, 0, mask,
ShapeSet );
XShapeCombineRegion( m_pDisplay, m_mainWindow, ShapeBounding, 0, 0,
mask, ShapeSet );
XDestroyRegion( mask );
// Map the window
XMapWindow( m_pDisplay, m_mainWindow);
......
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