bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #25046] back-X11-context.m or related bug


From: Kargor
Subject: [bug #25046] back-X11-context.m or related bug
Date: Tue, 09 Dec 2008 09:28:49 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12

URL:
  <http://savannah.gnu.org/bugs/?25046>

                 Summary: back-X11-context.m or related bug
                 Project: GNUstep
            Submitted by: kargor
            Submitted on: Tue 09 Dec 2008 09:28:47 AM GMT
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

It's hard to tell whether the bug is there or somewhere else, I just fixed it
there. This is based on startup 0.20.0.

The problem: on screens that only have 16 bit depth, applications get X11
errors, and empty windows. This happens on some systems only.

Apparent reason: context.m looks for a 24/32 bit visual, and uses that. In
other places, it uses bitmaps based on the screen depth, which is 16 bit. On
systems that offer 32 bit visuals on 16 bit screens, this causes X11 to f*ck
up.
Side note: I don't remember whether SuSE 11 or Ubutntu 8.04 was the one
exhibiting the problem, or maybe even both.

I fixed this by adding a simple patch:

--- Source/x11/context-old.c    2008-11-03 11:30:31.000000000 +0100
+++ Source/x11/context.c        2008-11-03 11:34:27.000000000 +0100
@@ -698,8 +698,11 @@

     /* use default */
     if (!context->visual) {
+#if 0
        if ((context->attribs->flags & RC_DefaultVisual)
-           || !bestContext(dpy, screen_number, context)) {
+           || !bestContext(dpy, screen_number, context))
+#endif
+       {
            context->visual = DefaultVisual(dpy, screen_number);
            context->depth = DefaultDepth(dpy, screen_number);
            context->cmap = DefaultColormap(dpy, screen_number);

Basically disabling the "best context" thing here. Using
the default seems to work better. I have no way of knowing
whether it might break other things, but it hasn't failed
me so far.





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?25046>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]