On 2009/09/05 16:50, frantisek holop wrote:
> is it just my crazy system, or is the executable really ~150M?

ah, thanks for spotting, looks like it's building with symbols and
not stripping (which takes it down to a more reasonable 3.3M).

> it also dumps core on my eeepc, after any kind of
> error, for example:
> 
> Warning: [Main]: mixxx: cannot connect to X server localhost:10.0
> Segmentation fault (core dumped)
> 
> or after cancelling out the music library chooser dialog, i get:
> 
> Failed to initilaize GEM. Falling back to classic.
> Segmentation fault (core dumped)

rebuilding lib/libGL with this diff from oga@ should fix the segfaults.

Index: intel_context.c
===================================================================
RCS file: /cvs/xenocara/dist/Mesa/src/mesa/drivers/dri/intel/intel_context.c,v
retrieving revision 1.7
diff -u -p -r1.7 intel_context.c
--- intel_context.c     6 Aug 2009 15:50:02 -0000       1.7
+++ intel_context.c     5 Sep 2009 15:58:37 -0000
@@ -926,39 +926,6 @@ intelDestroyContext(__DRIcontextPrivate 
           */
       }
 
-      /* XXX In intelMakeCurrent() below, the context's static regions are 
-       * referenced inside the frame buffer; it's listed as a hack,
-       * with a comment of "XXX FBO temporary fix-ups!", but
-       * as long as it's there, we should release the regions here.
-       * The do/while loop around the block is used to allow the
-       * "continue" statements inside the block to exit the block,
-       * to avoid many layers of "if" constructs.
-       */
-      do {
-         __DRIdrawablePrivate * driDrawPriv = intel->driDrawable;
-         struct intel_framebuffer *intel_fb;
-         struct intel_renderbuffer *irbDepth, *irbStencil;
-         if (!driDrawPriv) {
-            /* We're already detached from the drawable; exit this block. */
-            continue;
-         }
-         intel_fb = (struct intel_framebuffer *) driDrawPriv->driverPrivate;
-         if (!intel_fb) {
-            /* The frame buffer is already gone; exit this block. */
-            continue;
-         }
-         irbDepth = intel_get_renderbuffer(&intel_fb->Base, BUFFER_DEPTH);
-         irbStencil = intel_get_renderbuffer(&intel_fb->Base, BUFFER_STENCIL);
-
-         /* Usually, the stencil buffer is the same as the depth buffer;
-          * but they're handled separately in MakeCurrent, so we'll
-          * handle them separately here.
-          */
-         if (irbStencil && irbStencil->region == intel->depth_region) {
-           intel_renderbuffer_set_region(irbStencil, NULL);
-         }
-      } while (0);
-
       intel_region_release(&intel->front_region);
       intel_region_release(&intel->back_region);
       intel_region_release(&intel->depth_region);

Reply via email to