New X.Org

Andriy Gapon avg at FreeBSD.org
Fri Apr 27 17:03:27 UTC 2012


on 26/04/2012 18:45 Warren Block said the following:
> On Thu, 26 Apr 2012, matt wrote:
> 
>>>>> Interesting. Another Radeon 4650 (rv730) is not working here, giving Bus
>>>>> Errors at the same address whenever certain applications are launched.
>>>>> Failing examples: Firefox, gedit, qt4-designer Successful: xfce4-terminal,
>>>>> ioquake3, compiz
>>>
>> Fixed this issue using the changes indicated in the below patch, which
>> solved my issue with x bus errors. It looks like glxGetScreen was
>> choking. This may help users with similar problems in compiz or Kwin.
>> FYI I manually applied changes in the patch to x11-servers/xorg-server,
>> not sure if the patch below would apply cleanly.
>>
>> diff --git a/glx/glxdri.c b/glx/glxdri.c
>> index 326f539..f6ef784 100644
>> --- a/glx/glxdri.c
>> +++ b/glx/glxdri.c
>> @@ -230,7 +230,7 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable)
>>
>>     /* If the X window was destroyed, the dri DestroyWindow hook will
>>      * aready have taken care of this, so only call if pDraw isn't NULL. */
>> -    if (drawable->pDraw != NULL) {
>> +    if (drawable->pDraw != NULL && drawable->pDraw->type == DRAWABLE_WINDOW) {
>>     screen = (__GLXDRIscreen *) glxGetScreen(drawable->pDraw->pScreen);
>>     (*screen->core->destroyDrawable)(private->driDrawable);
>>
> 
> Good catch!  Please enter a PR for this!

Just double-check that this change doesn't introduce any memory/resource leaks :-)

-- 
Andriy Gapon


More information about the freebsd-ports mailing list