** Description changed:
gtk_paint_box() crashes X Server
############################################
+ When I was resizing a window in IBM Lotus Notes, the desktop logout
automatically. After some investigation I found that X server crashed when
gtk_paint_box is called; when the application trying to repaint its scroll bar
box.
+
+ Simple codes like:
+
+ void DrawGtkScrollBarTrough(GdkWindow* window, GdkRectangle* rect,
GdkRectangle* clipRect,
+ GtkStateType state, GtkOrientation orientation)
+ {
+ GtkCriticalSection ____s;
+ EnsureDummyWidgets();
+
+ GtkWidget* widget = (orientation == GTK_ORIENTATION_HORIZONTAL ?
s_hScrollBar : s_vScrollBar);
+ GtkStyle* style = widget->style;
+
+ pFile = fopen("/home/notes/mylog", "a");
+ fprintf(pFile, "Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x%x,
window=0x%x, state=%d, GTK_SHADOW_IN, clipRect=0x%x, widget=0x%x, trough,
rect->x=%d, rect->y=%d, rect->width=%d, rect->height=%d, \n", style, window,
state, (int)clipRect, (int)widget, rect->x, rect->y, rect->width, rect->height);
+ fclose(pFile);
+
+ gtk_paint_box(style, window, state, GTK_SHADOW_IN, clipRect, widget,
+ "trough", rect->x, rect->y, rect->width, rect->height);
+
+
+ pFile = fopen("/home/notes/mylog", "a");
+ fprintf(pFile, "END DrawGtkScrollBarTrough\n");
+ fclose(pFile);
+ }
+
+
+ I checked the parameters passed to gtk_paint_box but didn't find any invalid
values, anyway I'm pasting the values here:
+ ......
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=230,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=230,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=246,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=246,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=263,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=267,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a85c0,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a9160,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8af150,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=268,
+ END DrawGtkScrollBarTrough
+ Begin DrawGtkScrollBarTrough, gtk_paint_box(style=0x9388000,
window=0xa7b7a40, state=1, GTK_SHADOW_IN, clipRect=0xbf8a8460,
widget=0x9386188, trough, rect->x=764, rect->y=0, rect->width=15,
rect->height=244,
+ //here NO "END DrawGtkScrollBarTrough" string, X Server crashed.
+
+ When use Human Theme this will reproducible; when change theme to Mist,
+ not reproducible. The PC is Lenovo PC.
+
+ ###########################################
/usr/lib/libX11.so.6(_XIOError+0x52) [0xb5f6b892]
/usr/lib/libX11.so.6(_XGetXCBBuffer+0x78) [0xb5f722f8]
/usr/lib/libX11.so.6 [0xb5f724fd]
/usr/lib/libX11.so.6(_XReply+0x140) [0xb5f73200]
/usr/lib/libX11.so.6(XGetImage+0x9c) [0xb5f50e2c]
/usr/lib/libcairo.so.2 [0xb4bde2ea]
/usr/lib/libcairo.so.2 [0xb4bdeb4e]
/usr/lib/libcairo.so.2 [0xb4baff16]
/usr/lib/libcairo.so.2 [0xb4bb0cd4]
/usr/lib/libcairo.so.2 [0xb4bb10f2]
/usr/lib/libcairo.so.2 [0xb4bafe39]
/usr/lib/libcairo.so.2 [0xb4bb2317]
/usr/lib/libcairo.so.2 [0xb4bb26f1]
/usr/lib/libcairo.so.2 [0xb4baee56]
/usr/lib/libcairo.so.2 [0xb4b9f493]
/usr/lib/libcairo.so.2(cairo_fill_preserve+0x2c) [0xb4b97a6c]
/usr/lib/libcairo.so.2(cairo_fill+0x12) [0xb4b97a92]
/usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so(ubuntulooks_draw_scrollbar_trough+0x219)
[0xb442d439]
/usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so [0xb4429573]
/usr/lib/libgtk-x11-2.0.so.0(gtk_paint_box+0xd6) [0xb533c016]
-
- ######################################################
- When use Human Theme this will reproducible; when change theme to Mist, not
reproducible. The PC is Lenovo PC.
--
Ubuntu 8.0.4: gtk_paint_box() crashes X Server
https://bugs.launchpad.net/bugs/283593
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs