[rkward-cvs] rkward/rkward/windows rcontrolwindow.cpp,1.4,1.5

Thomas Friedrichsmeier tfry at users.sourceforge.net
Wed Oct 26 16:10:34 UTC 2005


Update of /cvsroot/rkward/rkward/rkward/windows
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24964/rkward/windows

Modified Files:
	rcontrolwindow.cpp 
Log Message:
Fixed random crash while deleting RKLoadLibsDialog. Workaround for rare crash in RControlWindow

Index: rcontrolwindow.cpp
===================================================================
RCS file: /cvsroot/rkward/rkward/rkward/windows/rcontrolwindow.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rcontrolwindow.cpp	16 Oct 2005 14:06:50 -0000	1.4
--- rcontrolwindow.cpp	26 Oct 2005 16:10:32 -0000	1.5
***************
*** 111,115 ****
  	RK_TRACE (APP);
  
! 	command_map[command]->update (command);
  }
  
--- 111,122 ----
  	RK_TRACE (APP);
  
! 	RControlWindowListViewItem *item = command_map[command];
! 	if (!item) {
! 		RK_ASSERT (false);
! 		// unfortunately, yes, this can happen! Namely when the command is in the reply stack. We do not find commands in (the) reply stack(s), in refreshCommands.
! 		// TODO: find a way to include reply stacks in refreshCommands!
! 		return;
! 	}
! 	item->update (command);
  }
  
***************
*** 119,122 ****
--- 126,134 ----
  
  	RControlWindowListViewItem *item = command_map[command];
+ 	if (!item) {
+ 		RK_ASSERT (false);
+ 		// TODO: see updateCommand ()
+ 		return;
+ 	}
  	RControlWindowListViewItem *chain = static_cast<RControlWindowListViewItem *> (item->parent ());
  
***************
*** 143,148 ****
  	RK_TRACE (APP);
  
! 	RK_ASSERT (command_map[command]);
! 	command_map[command]->setText (2, "Running");
  }
  
--- 155,165 ----
  	RK_TRACE (APP);
  
! 	RControlWindowListViewItem *item = command_map[command];
! 	if (!item) {
! 		RK_ASSERT (false);
! 		// TODO: see updateCommand ()
! 		return;
! 	}
! 	item->setText (2, "Running");
  }
  





More information about the rkward-tracker mailing list