• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
CGDisplayRegisterReconfigurationCallback not called when view in fullscreen
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CGDisplayRegisterReconfigurationCallback not called when view in fullscreen


  • Subject: CGDisplayRegisterReconfigurationCallback not called when view in fullscreen
  • From: Tom Hohensee <email@hidden>
  • Date: Tue, 24 Jul 2012 19:47:32 -0500

Anyone familiar with CGDisplayRegisterReconfigurationCallback callback and fullscreen when connecting and disconnecting an external monitor?
 I have written an application that places a custom NSView into fullscreen (using enterfullscreenmode with options) on an external monitor while the main window remains on the main (built-in screen).  The view enters and exits as expected but I was trying to cover all my bases and have the fullscreen exit gracefully if the external monitor is unplugged while my application is running.  In my research I came across CGDisplayRegisterReconfigurationCallback.  I implemented the callback as follows

void TheDisplayReconfigurationCallBack ( CGDirectDisplayID display,
					CGDisplayChangeSummaryFlags flags,
					void *userInfo)
{
    if (flags & kCGDisplayAddFlag) {
        NSLog (@"Display Added");
    }
    else if (kCGDisplayRemoveFlag) {
        NSLog (@"Display Removed");
		[[NSNotificationCenter defaultCenter] postNotificationName:@"ScreenDisconnected" object:nil];

	}
}

and called:

CGDisplayRegisterReconfigurationCallback(TheDisplayReconfigurationCallBack, NULL);

in a method in my implementation.

When the application is not in fullscreen my application receives and the callback function works as expected.  However, when the view is in fullscreen the callback function is not called when the monitor is unplugged.  In fact the OS does not update the screen configuration until I exit fullscreen (through a test button I implemented on the main window).

Any help would be appreciated I think I have exhausted all my google answers for CGDisplayRegisterReconfigurationCallback.

Thanks
Tom

The applications runs on both 10.6 and 10.7.
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: CGDisplayRegisterReconfigurationCallback not called when view in fullscreen
      • From: Ken Thomases <email@hidden>
  • Prev by Date: Re: Is it 'normal' that scrolling in a UIScrollView leaks some bytes?
  • Next by Date: Re: CGDisplayRegisterReconfigurationCallback not called when view in fullscreen
  • Previous by thread: Re: -mouseDragged: sent to view when dragging window
  • Next by thread: Re: CGDisplayRegisterReconfigurationCallback not called when view in fullscreen
  • Index(es):
    • Date
    • Thread