[Xquartz-dev] 10.8 issue with non-standard code

Jeremy Huddleston Sequoia jeremyhu at freedesktop.org
Mon Aug 27 21:34:35 PDT 2012


On 2012-08-27 21:29, Jeremy Huddleston Sequoia wrote:

> +QuartzModeInfoPtr *lastUsedMode;
> ...
> + QuartzRandRSetMode(pScreen, &lastUsedMode, TRUE);
>
> That won't work. You should see a warning from the compiler telling 
> you
> that you're passing incompatible pointer types. Seeing that warning
> should
> be a huge red flag that something is wrong.
>
> You probably want this for lastUsedMode:
>
> QuartzModeInfo lastUsedMode;

In reading the body of your email, it looks like you are doing this 
correctly, but your patch was just wrong, so I'll assume this is not the 
issue.

It is possible that the mode is being released out from under you 
because you never retained your reference to it.  Try doing something 
like this when you set your lastUsedMode:

if (lastUsedMode.ref)
     CFRelease(lastUsedMode.ref);
lastUsedMode = pQuartzScreen->currentMode;
CFRetain(lastUsedMode.ref)


> ---
>
> It also looks like you may be using lastUsedMode uninitialized.
>
> It was probably the case that CG just returned an error in Lion and 
> is
> crashing now in ML. That crash is a bug in CG, but it's exposed by a
> bug
> in your code.
>
> --Jeremy
>
> On 2012-08-27 18:46, doh123 wrote:
>
>> I *think* this is all i did to get it working... but I haven't 
>> tested
>> this. I believe its all the changes I did to get the toggle working 
>> on
>> 10.5 - 10.7 fine. I keep my stuff in patch files anyways, but all of
>> this wasn't in the same one so I had to go through and find all the
>> right parts, but If I got it right, it adds CMD+Opt+A toggle back 
>> into
>> fullscreen, just something changed with 10.8, and I think its 
>> something
>> actually with the actual capturing the display, but I may be 
>> wrong...
>> or it may add some other issues I've never run in to... because I'm 
>> not
>> sure why this was all set to disabled in the first place.
>
> _______________________________________________
> Xquartz-dev mailing list
> Xquartz-dev at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/xquartz-dev


More information about the Xquartz-dev mailing list