// But this creates some problems when leaving fs over remote intfs, so activate app here.
[NSApp activateIgnoringOtherApps:YES];
- [o_fspanel setVoutWasUpdated: (int)[[self screen] displayID]];
+ [o_fspanel setVoutWasUpdated: self];
[o_fspanel setActive: nil];
}
[o_fullscreen_window setAcceptsMouseMovedEvents: YES];
/* tell the fspanel to move itself to front next time it's triggered */
- [[[VLCMainWindow sharedInstance] fsPanel] setVoutWasUpdated: (int)[[o_fullscreen_window screen] displayID]];
+ [[[VLCMainWindow sharedInstance] fsPanel] setVoutWasUpdated: o_fullscreen_window];
[[[VLCMainWindow sharedInstance] fsPanel] setActive: nil];
if ([self isVisible])
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+@class VLCWindow;
@interface VLCFSPanel : NSWindow
{
BOOL b_displayed;
BOOL b_voutWasUpdated;
int i_device;
+
+ VLCWindow *o_vout_window;
}
- (id)initWithContentRect: (NSRect)contentRect
styleMask: (NSUInteger)aStyle
- (void)mouseDown: (NSEvent *)theEvent;
- (void)mouseDragged: (NSEvent *)theEvent;
-- (void)setVoutWasUpdated: (int)i_screen;
+- (void)setVoutWasUpdated: (VLCWindow *)o_window;
@end
@interface VLCFSPanelView : NSView
[hideAgainTimer invalidate];
[hideAgainTimer release];
}
+
+ if (o_vout_window)
+ [o_vout_window release];
+
[self setFadeTimer:nil];
[super dealloc];
}
- (void)mouseExited:(NSEvent *)theEvent
{
/* give up our focus, so the vout may show us again without letting the user clicking it */
- vout_thread_t *p_vout = getVout();
- if (p_vout) {
- if (var_GetBool(p_vout, "fullscreen"))
- [[[[VLCMainWindow sharedInstance] videoView] window] makeKeyWindow];
- vlc_object_release(p_vout);
- }
+ if (o_vout_window && var_GetBool(pl_Get(VLCIntf), "fullscreen"))
+ [o_vout_window makeKeyWindow];
}
- (void)hideMouse
[self setFrameOrigin:point];
}
-- (void)setVoutWasUpdated: (int)i_newdevice;
+- (void)setVoutWasUpdated: (VLCWindow *)o_window
{
b_voutWasUpdated = YES;
+ if (o_vout_window)
+ [o_vout_window release];
+ o_vout_window = [o_window retain];
+ int i_newdevice = (int)[[o_vout_window screen] displayID];
if(i_newdevice != i_device) {
i_device = i_newdevice;
[self center];