[Aptitude-svn-commit] r3736 - in branches/aptitude-0.3/aptitude: . src

Daniel Burrows dburrows at costa.debian.org
Mon Aug 8 17:41:27 UTC 2005


Author: dburrows
Date: Mon Aug  8 17:41:24 2005
New Revision: 3736

Modified:
   branches/aptitude-0.3/aptitude/ChangeLog
   branches/aptitude-0.3/aptitude/src/broken_indicator.cc
   branches/aptitude-0.3/aptitude/src/broken_indicator.h
Log:
Fix broken_indicator for refcounting.

Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog	(original)
+++ branches/aptitude-0.3/aptitude/ChangeLog	Mon Aug  8 17:41:24 2005
@@ -1,5 +1,10 @@
 2005-08-08  Daniel Burrows  <dburrows at debian.org>
 
+	* src/broken_indicator.cc, src/broken_indicator.h:
+
+	  Fix the broken_indicator class to work in the presence of
+	  reference counting.
+
 	* src/vscreen/vs_text_layout.h:
 
 	  Constructors should be protected, not private.

Modified: branches/aptitude-0.3/aptitude/src/broken_indicator.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/broken_indicator.cc	(original)
+++ branches/aptitude-0.3/aptitude/src/broken_indicator.cc	Mon Aug  8 17:41:24 2005
@@ -58,7 +58,8 @@
 
     update();
   }
-public:
+
+protected:
   broken_indicator()
   {
     if(apt_cache_file)
@@ -74,6 +75,11 @@
 
     update();
   }
+public:
+  static ref_ptr<broken_indicator> create()
+  {
+    return new broken_indicator;
+  }
 
   void update()
   {
@@ -241,7 +247,7 @@
   }
 };
 
-vscreen_widget *make_broken_indicator()
+ref_ptr<vscreen_widget> make_broken_indicator()
 {
-  return new broken_indicator;
+  return broken_indicator::create();
 }

Modified: branches/aptitude-0.3/aptitude/src/broken_indicator.h
==============================================================================
--- branches/aptitude-0.3/aptitude/src/broken_indicator.h	(original)
+++ branches/aptitude-0.3/aptitude/src/broken_indicator.h	Mon Aug  8 17:41:24 2005
@@ -24,8 +24,9 @@
 #define BROKEN_INDICATOR_H
 
 class vscreen_widget;
+template<class T> class ref_ptr;
 
 /** \return a newly generated "broken indicator". */
-vscreen_widget *make_broken_indicator();
+ref_ptr<vscreen_widget> make_broken_indicator();
 
 #endif // BROKEN_INDICATOR_H



More information about the Aptitude-svn-commit mailing list