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