Again colormap troubles... FIXED!!!
Stephane Paltani
spaltani at head-cfa.harvard.edu
Mon Mar 4 18:55:36 CET 2002
Hi Olivier,
(Third attempts to send this message, but it's entirely my
fault; sorry for the two previous mails, Chuck!)
I moved to xfce-dev, as I think it is more relevant there.
I made further investigations, and, while the symptoms are persisting,
the diagnosis is quite different:
It is not a Solaris-only bug; I could reproduce the problem on my
Linux laptop. It is not screen related , as I thought. The problem
appears as soon as I use the window menu, that I usually use to
call the "Send to..." function. This is why I got misled.
I put tracking info in the colormaps.c file (showing the name of the
functions that are executed); here is what I found:
InstallWindowColormaps (one or two such entry when I enter in
InstallWindowColormaps a new window)
InstallWindowColormaps
InstallWindowColormaps
InstallRootColormap + -+ (Here I move a window)
InstallWindowColormaps |
UninstallRootColormap - -+
InstallWindowColormaps
InstallRootColormap + -+ (Here I resize a window)
InstallWindowColormaps |
UninstallRootColormap - -+
InstallWindowColormaps
InstallWindowColormaps
InstallWindowColormaps
InstallRootColormap + -+ (Here I "switchfunc" a window)
InstallWindowColormaps |
InstallRootColormap + -+
InstallRootColormap + -+
UninstallRootColormap - -+
InstallWindowColormaps
InstallWindowColormaps
As you can see, there are 3 calls to "InstallRootColormap" against
one to "UninstallRootColormap". It seems that these functions use
a push-pop structure, so it means that after this the root colormap
is never removed, and is applied to all the windows.
I found that the "Bool PopUpMenu (MenuRoot * menu, int x, int y)"
in menus.c does contain a "InstallRootColormap ();" call, but no
"UninstallRootColormap ();" call. I added this call just before the
return in this function (line 561), and it seems to be FIXED!
I tested this for a while today; no crash, correct behaviour as far
as I can tell.
I certainly do not guarantee the results, but I hope this helps.
Stephane
Olivier Fourdan wrote:
>
> Stephane,
>
> Right now, I don't know. I need to investigate a little bit more based
> on your reports.
>
> Colormap changes are driven by the X event loop.
>
> Cheers,
> Olivier.
>
> On Thu, 2002-02-28 at 23:50, Stephane Paltani wrote:
> > Hi again,
> >
> > Actually, I just noticed that I can block my color map simply
> > by opening a single application with private color map on
> > any screen but screen one. This should make even easier to
> > find the problem.
> >
> > Again, Olivier, if you could tell me in which part of the code
> > these things happen...
> >
> > Thanks,
> > Stephane
> > --
> > This mail is from the xfce mailing list at MoonGroup "Dot" Com.
> > Send unsubscribe xfce in the subject of an email to Listar at moongroup.com
> > to unsubscribe.
> >
> >
> --
> Olivier <fourdan at xfce.org> http://www.xfce.org
> -----------------------------------------------------------------------
> XFce is a lightweight desktop environment for various *NIX systems.
> Designed for productivity, it loads and executes applications fast,
> while conserving system resources. XFce is all free software, released
> under GNU General Public License. Available from http://www.xfce.org
>
> --
> This mail is from the xfce mailing list at MoonGroup "Dot" Com.
> Send unsubscribe xfce in the subject of an email to Listar at moongroup.com
> to unsubscribe.
More information about the Xfce-dev
mailing list