Commit 6aa39693 authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

fixed cvDestroyWindow(), cvDestroyAllWindows() and cvSetTrackbarPos() on mac (ticket #631)

parent 8c2246bd
...@@ -183,7 +183,7 @@ CV_IMPL void cvDestroyWindow( const char* name) ...@@ -183,7 +183,7 @@ CV_IMPL void cvDestroyWindow( const char* name)
//cout << "cvDestroyWindow" << endl; //cout << "cvDestroyWindow" << endl;
CVWindow *window = cvGetWindow(name); CVWindow *window = cvGetWindow(name);
if(window) { if(window) {
[window performClose:nil]; [window close];
[windows removeObjectForKey:[NSString stringWithFormat:@"%s", name]]; [windows removeObjectForKey:[NSString stringWithFormat:@"%s", name]];
} }
[localpool drain]; [localpool drain];
...@@ -194,10 +194,10 @@ CV_IMPL void cvDestroyAllWindows( void ) ...@@ -194,10 +194,10 @@ CV_IMPL void cvDestroyAllWindows( void )
{ {
//cout << "cvDestroyAllWindows" << endl; //cout << "cvDestroyAllWindows" << endl;
NSAutoreleasePool* localpool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool* localpool = [[NSAutoreleasePool alloc] init];
for(NSString *key in windows) { NSDictionary* list = [NSDictionary dictionaryWithDictionary:windows];
[[windows valueForKey:key] performClose:nil]; for(NSString *key in list) {
} cvDestroyWindow([key cStringUsingEncoding:NSASCIIStringEncoding]);
[windows removeAllObjects]; }
[localpool drain]; [localpool drain];
} }
...@@ -402,7 +402,7 @@ CV_IMPL void cvSetTrackbarPos(const char* trackbar_name, const char* window_name ...@@ -402,7 +402,7 @@ CV_IMPL void cvSetTrackbarPos(const char* trackbar_name, const char* window_name
if(trackbar_name == NULL || window_name == NULL) if(trackbar_name == NULL || window_name == NULL)
CV_ERROR( CV_StsNullPtr, "NULL trackbar or window name" ); CV_ERROR( CV_StsNullPtr, "NULL trackbar or window name" );
if(pos <= 0) if(pos < 0)
CV_ERROR( CV_StsOutOfRange, "Bad trackbar maximal value" ); CV_ERROR( CV_StsOutOfRange, "Bad trackbar maximal value" );
if (localpool5 != nil) [localpool5 drain]; if (localpool5 != nil) [localpool5 drain];
......
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