emacs-devel
[Top][All Lists]
Advanced

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

Re: Hint on Xaw3d scroll bar colors issue [Was: Re: Changes in frame/win


From: Dmitry Antipov
Subject: Re: Hint on Xaw3d scroll bar colors issue [Was: Re: Changes in frame/window code]
Date: Tue, 29 Jul 2014 15:27:00 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0

On 07/29/2014 01:21 PM, martin rudalics wrote:

Where can an ignorant like me find the sources (I'm on Debian)?

Not sure about Debian. Usually there should be a kind of a debug package.
On my Fedora 20 system, I have:

Xaw3d-devel-1.6.2-5.fc20.x86_64
Xaw3d-1.6.2-5.fc20.x86_64
Xaw3d-debuginfo-1.6.2-5.fc20.x86_64

The last one installs Xaw3d sources under /usr/src/debug/libXaw3d-1.6.2,
and gdb uses them while stepping through source code.

Do you use Xaw3d or Xaw? If any, what version?

If that matters, this is even more interesting debugging session:

(gdb) b x_create_toolkit_scroll_bar
Breakpoint 1 at 0x538f6c: file ../../trunk/src/xterm.c, line 4795.
(gdb) b x_create_horizontal_toolkit_scroll_bar
Breakpoint 2 at 0x5395a5: file ../../trunk/src/xterm.c, line 4994.
(gdb) r -Q
Breakpoint 1, x_create_toolkit_scroll_bar (f=0x1130ce0, bar=0x11c5998) at 
../../trunk/src/xterm.c:4795
4795      int ac = 0;
(gdb) b Xaw3dComputeTopShadowRGB
Breakpoint 3 at 0x7ffff7da6690: file ThreeD.c, line 313.
(gdb) b Xaw3dComputeBottomShadowRGB
Breakpoint 4 at 0x7ffff7da6860: file ThreeD.c, line 359.
(gdb) c
Continuing.

Breakpoint 3, Xaw3dComputeTopShadowRGB (address@hidden, address@hidden) at 
ThreeD.c:313
313     {
(gdb) n
314         if (XtIsSubclass (new, threeDWidgetClass)) {
(gdb)
318             Display *dpy = XtDisplay (new);
(gdb)
322             get_c.pixel = tdw->core.background_pixel;
(gdb) p /x tdw->core.background_pixel
$1 = 0xbfbfbf
(gdb) c
Continuing.

Breakpoint 4, Xaw3dComputeBottomShadowRGB (address@hidden, address@hidden) at 
ThreeD.c:359
359     {
(gdb) n
360         if (XtIsSubclass (new, threeDWidgetClass)) {
(gdb)
364             Display *dpy = XtDisplay (new);
(gdb)
368             get_c.pixel = tdw->core.background_pixel;
(gdb) p /x tdw->core.background_pixel
$2 = 0xbfbfbf

So, vertical scroll bar's Core widget has background pixel 0xbfbfbf.

Next, we create horizontal scroll bar and see:

Breakpoint 2, x_create_horizontal_toolkit_scroll_bar (f=0x1130ce0, 
bar=0x11c6908) at ../../trunk/src/xterm.c:4994
4994      int ac = 0;
(gdb) c
Continuing.

Breakpoint 3, Xaw3dComputeTopShadowRGB (address@hidden, address@hidden) at 
ThreeD.c:313
313     {
(gdb) n
314         if (XtIsSubclass (new, threeDWidgetClass)) {
(gdb)
318             Display *dpy = XtDisplay (new);
(gdb)
322             get_c.pixel = tdw->core.background_pixel;
(gdb) p /x tdw->core.background_pixel
$3 = 0xffffff
(gdb) c
Continuing.

Breakpoint 4, Xaw3dComputeBottomShadowRGB (address@hidden, address@hidden) at 
ThreeD.c:359
359     {
(gdb) n
360         if (XtIsSubclass (new, threeDWidgetClass)) {
(gdb)
364             Display *dpy = XtDisplay (new);
(gdb)
368             get_c.pixel = tdw->core.background_pixel;
(gdb) p /x tdw->core.background_pixel
$4 = 0xffffff

Here Core's background pixel is 0xffffff and so colors calculated by
Xaw3dComputeTopShadowRGB and Xaw3dComputeBottomShadowRGB for top_shadow_pixel
and bot_shadow_pixel of our new shiny horizontal scroll bar are very
different from the corresponding colors of vertical scroll bar.

I can use gdb to set horizontal scroll bar Core's tdw->core.background_pixel
to 0xbfbfbf and finally see horizontal scroll bar in an expected color.

BTW, x_default_scroll_bar_color_parameter in xfns.c should take horizontal
scroll bar into account, isn't it?

Dmitry



reply via email to

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