Code

Remove double unreffing of pointer in pdf-cairo.cpp. Fixes Bug #178985 with the...
[inkscape.git] / src / desktop.h
index 0a3732d56cd54ec91cb1b9d9eedf2d30d14dbf0f..bb05331b6add722ff1cd3f0565a14736467227e9 100644 (file)
@@ -42,13 +42,11 @@ typedef struct _GtkWidget GtkWidget;
 struct SPCanvas;
 struct SPCanvasItem;
 struct SPCanvasGroup;
-struct SPDesktopWidget;
 struct SPEventContext;
 struct SPItem;
 struct SPNamedView;
 struct SPObject;
 struct SPStyle;
-struct SPViewWidget;
 
 namespace Gtk
 {
@@ -74,6 +72,10 @@ namespace Inkscape {
   namespace Whiteboard {
       class SessionManager;
   }
+  namespace Display {
+      class TemporaryItemList;
+      class TemporaryItem;
+  }
 }
 
 /**
@@ -92,6 +94,8 @@ struct SPDesktop : public Inkscape::UI::View::View
     Inkscape::LayerManager    *layer_manager;
     Inkscape::EventLog        *event_log;
 
+    Inkscape::Display::TemporaryItemList *temporary_item_list;
+
     SPCanvasItem  *acetate;
     SPCanvasGroup *main;
     SPCanvasGroup *gridgroup;
@@ -99,6 +103,7 @@ struct SPDesktop : public Inkscape::UI::View::View
     SPCanvasItem  *drawing;
     SPCanvasGroup *sketch;
     SPCanvasGroup *controls;
+    SPCanvasGroup *tempgroup;   ///< contains temporary canvas items
     SPCanvasItem  *table;       ///< outside-of-page background
     SPCanvasItem  *page;        ///< page background
     SPCanvasItem  *page_border; ///< page border
@@ -175,6 +180,9 @@ struct SPDesktop : public Inkscape::UI::View::View
         return _guides_message_context;
     }
 
+    Inkscape::Display::TemporaryItem * add_temporary_canvasitem (SPCanvasItem *item, guint lifetime);
+    void remove_temporary_canvasitem (Inkscape::Display::TemporaryItem * tempitem);
+
     void setDisplayModeNormal();
     void setDisplayModeOutline();
     void displayModeToggle();