** 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

Reply via email to