vlc | branch: master | Erwan Tulou <[email protected]> | Thu Jun 9 22:18:42 2011 +0200| [73b7ccdfc639b70e5d838a09ad3abee4cbfaac93] | committer: Erwan Tulou
skins2: fix memory leak regarding previous commit > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=73b7ccdfc639b70e5d838a09ad3abee4cbfaac93 --- modules/gui/skins2/x11/x11_factory.cpp | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/gui/skins2/x11/x11_factory.cpp b/modules/gui/skins2/x11/x11_factory.cpp index fca747e..1e23300 100644 --- a/modules/gui/skins2/x11/x11_factory.cpp +++ b/modules/gui/skins2/x11/x11_factory.cpp @@ -211,16 +211,16 @@ void X11Factory::getMonitorInfo( const GenericWindow &rWindow, XineramaScreenInfo* info = XineramaQueryScreens( pDisplay, &num ); if( info ) { + Region reg1 = XCreateRegion(); + XRectangle rect1 = { x, y, w, h }; + XUnionRectWithRegion( &rect1, reg1, reg1 ); + unsigned int surface = 0; for( int i = 0; i < num; i++ ) { - Region reg1 = XCreateRegion(); - XRectangle rect1 = { info[i].x_org, info[i].y_org, - info[i].width, info[i].height }; - XUnionRectWithRegion( &rect1, reg1, reg1 ); - Region reg2 = XCreateRegion(); - XRectangle rect2 = { x, y, w, h }; + XRectangle rect2 = { info[i].x_org, info[i].y_org, + info[i].width, info[i].height }; XUnionRectWithRegion( &rect2, reg2, reg2 ); Region reg = XCreateRegion(); @@ -236,7 +236,10 @@ void X11Factory::getMonitorInfo( const GenericWindow &rWindow, *p_width = info[i].width; *p_height = info[i].height; } + XDestroyRegion( reg ); + XDestroyRegion( reg2 ); } + XDestroyRegion( reg1 ); XFree( info ); } } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
