dia r4154 - trunk/app
- From: hans svn gnome org
- To: svn-commits-list gnome org
- Subject: dia r4154 - trunk/app
- Date: Sun, 14 Dec 2008 12:39:02 +0000 (UTC)
Author: hans
Date: Sun Dec 14 12:39:01 2008
New Revision: 4154
URL: http://svn.gnome.org/viewvc/dia?rev=4154&view=rev
Log:
2008-12-14 Hans Breuer <hans breuer org>
* app/diagram.[ch] app/display.c : replace Diagram::display_count with
g_slist_count(diagram->displays), no benefit in keeping both in sync.
Modified:
trunk/app/diagram.c
trunk/app/diagram.h
trunk/app/display.c
Modified: trunk/app/diagram.c
==============================================================================
--- trunk/app/diagram.c (original)
+++ trunk/app/diagram.c Sun Dec 14 12:39:01 2008
@@ -607,16 +607,14 @@
diagram_add_ddisplay(Diagram *dia, DDisplay *ddisp)
{
dia->displays = g_slist_prepend(dia->displays, ddisp);
- dia->display_count++;
}
void
diagram_remove_ddisplay(Diagram *dia, DDisplay *ddisp)
{
dia->displays = g_slist_remove(dia->displays, ddisp);
- dia->display_count--;
- if (dia->display_count == 0) {
+ if (g_slist_length(dia->displays) == 0) {
if (!app_is_embedded()) {
/* Don't delete embedded diagram when last view is closed */
diagram_destroy(dia);
Modified: trunk/app/diagram.h
==============================================================================
--- trunk/app/diagram.h (original)
+++ trunk/app/diagram.h Sun Dec 14 12:39:01 2008
@@ -63,7 +63,6 @@
DiagramData *data; /*! just for compatibility, now that the Diagram _is_ and not _has_ DiagramData */
- guint display_count;
GSList *displays; /* List of all displays showing this diagram */
UndoStack *undo;
Modified: trunk/app/display.c
==============================================================================
--- trunk/app/display.c (original)
+++ trunk/app/display.c Sun Dec 14 12:39:01 2008
@@ -96,6 +96,10 @@
GtkStatusbar *statusbar;
guint context_id;
+ /* nothing to do if there is no display with the diagram anymore */
+ if (g_slist_length(dia->displays) < 1)
+ return;
+
statusbar = GTK_STATUSBAR (ddisp->modified_status);
context_id = gtk_statusbar_get_context_id (statusbar, "Selection");
@@ -1168,7 +1172,7 @@
dia = ddisp->diagram;
- if ( (dia->display_count > 1) ||
+ if ( (g_slist_length(dia->displays) > 1) ||
(!diagram_is_modified(dia)) ) {
ddisp_destroy(ddisp);
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]