comparison libpurple/signals.c @ 27800:deecc1d663c4

Don't use pointers (even opaquely) once they're freed. Closes #9822.
author Paul Aurich <paul@darkrain42.org>
date Sun, 02 Aug 2009 05:34:11 +0000
parents f2e4bc583e52
children 7be0dbc00168
comparison
equal deleted inserted replaced
27799:da33da2e1a1e 27800:deecc1d663c4
361 361
362 if (handler_data->handle == handle && handler_data->cb == func) 362 if (handler_data->handle == handle && handler_data->cb == func)
363 { 363 {
364 g_free(handler_data); 364 g_free(handler_data);
365 365
366 signal_data->handlers = g_list_remove(signal_data->handlers, 366 signal_data->handlers = g_list_delete_link(signal_data->handlers,
367 handler_data); 367 l);
368 signal_data->handler_count--; 368 signal_data->handler_count--;
369 369
370 found = TRUE; 370 found = TRUE;
371 371
372 break; 372 break;
396 if (handler_data->handle == handle) 396 if (handler_data->handle == handle)
397 { 397 {
398 g_free(handler_data); 398 g_free(handler_data);
399 399
400 signal_data->handler_count--; 400 signal_data->handler_count--;
401 signal_data->handlers = g_list_remove(signal_data->handlers, 401 signal_data->handlers = g_list_delete_link(signal_data->handlers,
402 handler_data); 402 l);
403 } 403 }
404 } 404 }
405 } 405 }
406 406
407 static void 407 static void