summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndre Pang <athp@users.sourceforge.net>2004-06-22 16:06:38 +0000
committerAndre Pang <athp@users.sourceforge.net>2004-06-22 16:06:38 +0000
commit8cb829cded07955ade2334f56c260da59b49c1a3 (patch)
tree13635faabac7adaa369dbe00bc704ece1c9306b6 /src
parent21617b7377fd55c2cc2f9c9966bb7b9108018772 (diff)
downloadxine-lib-8cb829cded07955ade2334f56c260da59b49c1a3.tar.gz
xine-lib-8cb829cded07955ade2334f56c260da59b49c1a3.tar.bz2
Mac OS X XineOpenGLView:
Fix dealloc behaviour Set fields to nil after releasing, to avoid stray messages CVS patchset: 6732 CVS date: 2004/06/22 16:06:38
Diffstat (limited to 'src')
-rw-r--r--src/video_out/macosx/video_window.m14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/video_out/macosx/video_window.m b/src/video_out/macosx/video_window.m
index d4fc12786..543ce6ff3 100644
--- a/src/video_out/macosx/video_window.m
+++ b/src/video_out/macosx/video_window.m
@@ -92,6 +92,7 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
- (void) dealloc
{
[xineView release];
+ xineView = nil;
[super dealloc];
}
@@ -242,15 +243,23 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
[NSOpenGLContext clearCurrentContext];
[fullScreenContext clearDrawable];
[fullScreenContext release];
+ if (currentContext == fullScreenContext) currentContext = nil;
+ fullScreenContext = nil;
}
if (currentContext) {
[NSOpenGLContext clearCurrentContext];
[currentContext clearDrawable];
[currentContext release];
+ currentContext = nil;
}
- [super dealloc];
+ // Enabling the [super dealloc] below (which should be correct behaviour)
+ // crashes -- not sure why ...
+ //
+ // [super dealloc];
+ //
+ // Maybe dealloc in main thread?
}
- (void) reshape {
@@ -470,6 +479,7 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
[NSOpenGLContext clearCurrentContext];
[fullScreenContext clearDrawable];
[fullScreenContext release];
+ fullScreenContext = nil;
CGReleaseAllDisplays();
[self reshape];
@@ -534,6 +544,8 @@ NSString *XineViewDidResizeNotification = @"XineViewDidResizeNotification";
{
video_width = size.width;
video_height = size.height;
+
+ [self initTextures];
}
- (void) setViewSizeInMainThread:(NSSize)size