GNOME Bugzilla – Bug 507751
Conditional jump or move depends on uninitialised value(s)
Last modified: 2008-01-10 10:14:08 UTC
From testtreecolumns, by adding a few columns and DND-reordering them. The cause seems to be that the GdkWindowAttr is only partially initialised in _gtk_tree_view_column_start_drag and gtk_tree_view_motion_draw_column_motion_arrow. ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40B38F1: gdk_window_new (gdkwindow-x11.c:747) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40B391C: gdk_window_new (gdkwindow-x11.c:748) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A1093: gdk_window_compute_position (gdkgeometry-x11.c:753) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A10EA: gdk_window_compute_position (gdkgeometry-x11.c:762) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A12E8: gdk_window_compute_position (gdkgeometry-x11.c:805) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x4071EA5: gdk_rectangle_intersect (gdkrectangle.c:90) ==3281== by 0x40A13E8: gdk_window_compute_position (gdkgeometry-x11.c:822) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x4071ECB: gdk_rectangle_intersect (gdkrectangle.c:91) ==3281== by 0x40A13E8: gdk_window_compute_position (gdkgeometry-x11.c:822) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x4071F00: gdk_rectangle_intersect (gdkrectangle.c:92) ==3281== by 0x40A13E8: gdk_window_compute_position (gdkgeometry-x11.c:822) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x4071F3A: gdk_rectangle_intersect (gdkrectangle.c:93) ==3281== by 0x40A13E8: gdk_window_compute_position (gdkgeometry-x11.c:822) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x4071F4F: gdk_rectangle_intersect (gdkrectangle.c:95) ==3281== by 0x40A13E8: gdk_window_compute_position (gdkgeometry-x11.c:822) ==3281== by 0x409F700: _gdk_window_init_position (gdkgeometry-x11.c:218) ==3281== by 0x40B3A3D: gdk_window_new (gdkwindow-x11.c:775) ==3281== by 0x43F7F32: _gtk_tree_view_column_start_drag (gtktreeview.c:9329) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A0B2D: _gdk_window_move_resize_child (gdkgeometry-x11.c:654) ==3281== by 0x40B6084: gdk_window_move_resize (gdkwindow-x11.c:1818) ==3281== by 0x43F8108: _gtk_tree_view_column_start_drag (gtktreeview.c:9366) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A0B5D: _gdk_window_move_resize_child (gdkgeometry-x11.c:655) ==3281== by 0x40B6084: gdk_window_move_resize (gdkwindow-x11.c:1818) ==3281== by 0x43F8108: _gtk_tree_view_column_start_drag (gtktreeview.c:9366) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40A0C8A: _gdk_window_move_resize_child (gdkgeometry-x11.c:680) ==3281== by 0x40B6084: gdk_window_move_resize (gdkwindow-x11.c:1818) ==3281== by 0x43F8108: _gtk_tree_view_column_start_drag (gtktreeview.c:9366) ==3281== by 0x44091BB: gtk_tree_view_column_button_event (gtktreeviewcolumn.c:1073) etc etc etc. And also ones from the drag arrow: ==3281== Conditional jump or move depends on uninitialised value(s) ==3281== at 0x40B38F1: gdk_window_new (gdkwindow-x11.c:747) ==3281== by 0x43E8770: gtk_tree_view_motion_draw_column_motion_arrow (gtktreeview.c:3342) ==3281== by 0x43E9320: gtk_tree_view_update_current_reorder (gtktreeview.c:3579) ==3281== by 0x43E97B5: gtk_tree_view_motion_drag_column (gtktreeview.c:3661) ==3281== by 0x43EA911: gtk_tree_view_motion (gtktreeview.c:4075) etc etc etc.
Created attachment 102294 [details] [review] patch
Found some more occurrences and also fixed those. Committed on trunk r19333; will backmerge to stable later today. 2008-01-10 Kristian Rietveld <kris@imendio.com> * gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow), (_gtk_tree_view_column_start_drag): fully initialize GdkWindowAttr to avoid valgrind warnings. (#507751, patch from Christian Persch).