gmc bug (patch included)

I've found a bug that made gmc segfault when the view mode was changed.
The included patch fixes the segfault but the assertion still fails when
I change to the partitial view (items = 2 and cl->columns = 4). Here's a
backtrace from the assertion failure:

(gdb) bt
#0  0x40444601 in kill ()
#1  0x4044442f in gsignal ()
#2  0x4044564f in abort ()
#3  0x4041707b in g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR, 
    format=0x80fdce8 "file %s: line %d (%s): assertion failed: (%s)", 
    args1=0xbffff014) at gmessages.c:363
#4  0x40417136 in g_log (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR, 
    format=0x80fdce8 "file %s: line %d (%s): assertion failed: (%s)")
    at gmessages.c:380
#5  0x80b9cf0 in panel_fill_panel_list (panel=0x8173b30) at
#6  0x80ba009 in x_fill_panel (panel=0x8173b30) at gscreen.c:248
#7  0x8065f78 in panel_update_contents (panel=0x8173b30) at screen.c:804
#8  0x8065fa8 in paint_panel (panel=0x8173b30) at screen.c:815
#9  0x80bed3f in do_switch_to_brief_listing (widget=0x81a8008,
    at gscreen.c:2084
#10 0x402a0d4d in gtk_marshal_NONE__NONE (object=0x81a8008, 
    func=0x80bed10 <do_switch_to_brief_listing>, func_data=0x8173b30, 
    args=0xbffff144) at gtkmarshal.c:344
#11 0x40263f65 in gtk_handlers_run (handlers=0x81b9b00,
    object=0x81a8008, params=0xbffff144, after=0) at gtksignal.c:1866
#12 0x402633a3 in gtk_signal_real_emit (object=0x81a8008, signal_id=68, 
    params=0xbffff144) at gtksignal.c:1434
#13 0x4026137f in gtk_signal_emit (object=0x81a8008, signal_id=68)
    at gtksignal.c:517
#14 0x401d5338 in gtk_button_clicked (button=0x81a8008) at
#15 0x401d6ac9 in gtk_real_button_released (button=0x81a8008)
    at gtkbutton.c:844
#16 0x402a0d4d in gtk_marshal_NONE__NONE (object=0x81a8008, 
    func=0x401d6a30 <gtk_real_button_released>, func_data=0x0,
    at gtkmarshal.c:344
#17 0x40263273 in gtk_signal_real_emit (object=0x81a8008, signal_id=67, 
    params=0xbffff480) at gtksignal.c:1397
#18 0x4026137f in gtk_signal_emit (object=0x81a8008, signal_id=67)
    at gtksignal.c:517
#19 0x401d5278 in gtk_button_released (button=0x81a8008) at
#20 0x401d6442 in gtk_button_button_release (widget=0x81a8008,
    at gtkbutton.c:704
#21 0x402a0919 in gtk_marshal_BOOL__POINTER (object=0x81a8008, 
    func=0x401d6380 <gtk_button_button_release>, func_data=0x0, 
    args=0xbffff7d0) at gtkmarshal.c:30
#22 0x402633dc in gtk_signal_real_emit (object=0x81a8008, signal_id=27, 
    params=0xbffff7d0) at gtksignal.c:1449
#23 0x4026137f in gtk_signal_emit (object=0x81a8008, signal_id=27)
    at gtksignal.c:517
#24 0x40297908 in gtk_widget_event (widget=0x81a8008, event=0x818a3c0)
    at gtkwidget.c:2628
#25 0x40235ca2 in gtk_propagate_event (widget=0x81a8008,
    at gtkmain.c:1239
#26 0x40234e88 in gtk_main_do_event (event=0x818a3c0) at gtkmain.c:698
#27 0x402dc4a6 in gdk_event_dispatch (source_data=0x0, 
    current_time=0xbffffb34, user_data=0x0) at gdkevents.c:1966
#28 0x40414ad2 in g_main_dispatch (current_time=0xbffffb34) at
#29 0x40414f8b in g_main_iterate (block=1, dispatch=1) at gmain.c:574
#30 0x404150e1 in g_main_run (loop=0x81d47c8) at gmain.c:618
#31 0x402349bb in gtk_main () at gtkmain.c:458
#32 0x80b2fe8 in gtkrundlg_event (h=0x818a0f8) at gmain.c:343
#33 0x8064c58 in run_dlg (h=0x818a0f8) at dlg.c:903
#34 0x80b34c7 in create_panels () at gmain.c:544
#35 0x806210d in setup_mc () at main.c:1821
#36 0x8062aa5 in do_nc () at main.c:2186
#37 0x806372f in main (argc=1, argv=0xbffffbe4) at main.c:2980

? diff
? edit/mx
? gnome/FileManager.h
? gnome/FileManager-common.c
? gnome/FileManager-stubs.c
? gnome/FileManager-skels.c
? gnome/corba-gmc
? new_icons/Makefile
Index: gnome/gscreen.c
RCS file: /cvs/gnome/mc/gnome/gscreen.c,v
retrieving revision 1.143
diff -c -r1.143 gscreen.c
*** gscreen.c	1999/01/02 22:06:04	1.143
--- gscreen.c	1999/01/03 18:46:41
*** 174,180 ****
  	/* which column holds the type information */
  	type_col = -1;
! 	g_assert (items == GTK_CLIST (cl->columns));
  	texts [items] = NULL;
  	for (i = 0; i < top; i++){
--- 174,180 ----
  	/* which column holds the type information */
  	type_col = -1;
! 	g_assert (items == GTK_CLIST (cl)->columns);
  	texts [items] = NULL;
  	for (i = 0; i < top; i++){

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]