[vlc-commits] macosx: work-around CoreAnimation limitations on 10.6, which prevented the correct display of some ui elements

Felix Paul Kühne git at videolan.org
Fri Aug 19 17:46:25 CEST 2011


vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Fri Aug 19 17:46:22 2011 +0200| [9b2e350fae6745709e7b582e5c9d052413eed824] | committer: Felix Paul Kühne

macosx: work-around CoreAnimation limitations on 10.6, which prevented the correct display of some ui elements

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9b2e350fae6745709e7b582e5c9d052413eed824
---

 modules/gui/macosx/open.m |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/modules/gui/macosx/open.m b/modules/gui/macosx/open.m
index dc5afc8..ded2ccc 100644
--- a/modules/gui/macosx/open.m
+++ b/modules/gui/macosx/open.m
@@ -450,7 +450,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
     [o_capture_height_fld setIntValue: [sizes sizeValue].height];
     [o_capture_width_stp setIntValue: [o_capture_width_fld intValue]];
     [o_capture_height_stp setIntValue: [o_capture_height_fld intValue]];
-    qtk_currdevice_uid = [[[qtkvideoDevices objectAtIndex:[o_qtk_device_pop indexOfSelectedItem]] uniqueID]
+    qtk_currdevice_uid = [[(QTCaptureDevice *)[qtkvideoDevices objectAtIndex:[o_qtk_device_pop indexOfSelectedItem]] uniqueID]
                           stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
     [self setMRL:[NSString stringWithFormat:@"qtcapture://%@", qtk_currdevice_uid]];
 }
@@ -671,6 +671,10 @@ static VLCOpen *_o_sharedMainInstance = nil;
          [[[[o_tabview tabViewItemAtIndex: [o_tabview indexOfTabViewItemWithIdentifier:@"optical"]] view] animator] addSubview: imageView];
     o_currentOpticalMediaIconView = imageView;
     [o_currentOpticalMediaIconView retain];
+    [o_currentOpticalMediaView setNeedsDisplay: YES];
+    [o_currentOpticalMediaIconView setNeedsDisplay: YES];
+    [[[o_tabview tabViewItemAtIndex: [o_tabview indexOfTabViewItemWithIdentifier:@"optical"]] view] setNeedsDisplay: YES];
+    [[[o_tabview tabViewItemAtIndex: [o_tabview indexOfTabViewItemWithIdentifier:@"optical"]] view] displayIfNeeded];
 }
 
 - (NSString *) getBSDNodeFromMountPath:(NSString *)mountPath
@@ -781,6 +785,12 @@ static VLCOpen *_o_sharedMainInstance = nil;
 {
     NSAutoreleasePool * o_pool = [[NSAutoreleasePool alloc] init];
 
+    if (!o_opticalDevices)
+        return;
+
+    if ([o_opticalDevices count] == 0)
+        return;
+
     unsigned int index = [n_index intValue];
     char *diskType = [self getVolumeTypeFromMountPath:[o_opticalDevices objectAtIndex: index]];
 



More information about the vlc-commits mailing list