dia r4371 - in trunk: . app
- From: hans svn gnome org
- To: svn-commits-list gnome org
- Subject: dia r4371 - in trunk: . app
- Date: Mon, 6 Apr 2009 21:14:23 +0000 (UTC)
Author: hans
Date: Mon Apr 6 21:14:23 2009
New Revision: 4371
URL: http://svn.gnome.org/viewvc/dia?rev=4371&view=rev
Log:
2009-04-06 Hans Breuer <hans breuer org>
* app/display.c : something called ddisplay_flush() while we were
already in ddisplay_destroy() - moved removing the idle handler to
ddisplay_really_destroy(), the last possible moment - bug #578173
Modified:
trunk/ChangeLog
trunk/app/display.c
Modified: trunk/app/display.c
==============================================================================
--- trunk/app/display.c (original)
+++ trunk/app/display.c Mon Apr 6 21:14:23 2009
@@ -1138,11 +1138,6 @@
static void
ddisp_destroy(DDisplay *ddisp)
{
- if (ddisp->update_id) {
- g_source_remove (ddisp->update_id);
- ddisp->update_id = 0;
- }
-
g_signal_handlers_disconnect_by_func (ddisp->diagram, selection_changed, ddisp);
g_object_unref (G_OBJECT (ddisp->im_context));
@@ -1304,6 +1299,11 @@
if (active_display == ddisp)
display_set_active(NULL);
+ /* last chance to avoid crashing in the idle update */
+ if (ddisp->update_id) {
+ g_source_remove (ddisp->update_id);
+ ddisp->update_id = 0;
+ }
if (ddisp->diagram) {
diagram_remove_ddisplay(ddisp->diagram, ddisp);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]