Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] gtk_tree_view_column_set_fixed_width: assertion `fixed_width > 0

From: "Anders Broman" <a.broman@xxxxxxxxx>
Date: Mon, 21 Sep 2009 20:00:07 +0200

Hi,

Ref the problem being discussed at http://wiki.wireshark.org/Development/OptimizePacketList

The relevant code being (I assume)

                      col_width = recent_get_column_width(i);

                      if(col_width < 1) {

                                 gint fmt;

                                 const gchar *long_str;

 

                                 fmt = get_column_format(i);

                                 long_str = get_column_width_string(fmt, i);

                                 layout = gtk_widget_create_pango_layout(packetlist->view, long_str);

                                 /*  the logical width and height of a PangoLayout in device units */

                                 pango_layout_get_pixel_size(layout,

                                            &col_width, /* width */

                                            NULL); /* height */

                                 if (col_width < 1){

                                            g_warning("*** Error: A column width of %u passed to gtk_tree_view_column_set_fixed_width()\n"

                                                      "column %u Long string  %s format %u",col_width,i,long_str, fmt );

                                 }

                                 gtk_tree_view_column_set_fixed_width(col, col_width);

                                 g_object_unref(G_OBJECT(layout));

                      }else{

                                 gtk_tree_view_column_set_fixed_width(col, col_width);

                      }

 

It would be interesting to know the value returned by:

recent_get_column_width(i);

I assume that’s 0 ?

The next interesting parts are which column (i) the format (fm)t and the string returned by

get_column_width_string(fmt, i) (long_str);

Next the col_width returned by pango_layout_get_pixel_size()

 

I thought the g_warning printout would give the answer but obviously not. If the other code path is taken

What’s the value of col_width?

 

Regards

Anders