banshee r4261 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.Services/Banshee.Sources src/Libraries/Hyena/Hyena.Data.Sqlite
- From: gburt svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r4261 - in trunk/banshee: . src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.Services/Banshee.Sources src/Libraries/Hyena/Hyena.Data.Sqlite
- Date: Sun, 27 Jul 2008 19:17:11 +0000 (UTC)
Author: gburt
Date: Sun Jul 27 19:17:11 2008
New Revision: 4261
URL: http://svn.gnome.org/viewvc/banshee?rev=4261&view=rev
Log:
2008-07-27 Gabriel Burt <gabriel burt gmail com>
* src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs:
* src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:
* src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs:
* src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs:
Remove ClearManagedCache method, was redundant w/ Clear method.
* src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs: When the
source is Deactivated, call InvalidateCache on the Track model and all
filter models. This should help prevent Banshee from using more and more
RAM as you switch sources and scroll through lists.
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs Sun Jul 27 19:17:11 2008
@@ -199,7 +199,7 @@
public override void InvalidateCache ()
{
- cache.ClearManagedCache ();
+ cache.Clear ();
OnReloaded ();
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs Sun Jul 27 19:17:11 2008
@@ -177,7 +177,7 @@
if (cache == null) {
Log.ErrorFormat ("Called invalidate cache for {0}'s track model, but cache is null", source);
} else {
- cache.ClearManagedCache ();
+ cache.Clear ();
OnReloaded ();
}
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs Sun Jul 27 19:17:11 2008
@@ -36,7 +36,6 @@
public interface IDatabaseTrackModelCache
{
void Clear ();
- void ClearManagedCache ();
void SaveSelection ();
void UpdateAggregates ();
void RestoreSelection ();
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs Sun Jul 27 19:17:11 2008
@@ -567,6 +567,14 @@
if (!ever_reloaded)
Reload ();
}
+
+ public override void Deactivate ()
+ {
+ DatabaseTrackModel.InvalidateCache ();
+ foreach (IFilterListModel filter in AvailableFilters) {
+ filter.InvalidateCache ();
+ }
+ }
protected virtual void RemoveTrackRange (DatabaseTrackListModel model, RangeCollection.Range range)
{
Modified: trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs (original)
+++ trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/SqliteModelCache.cs Sun Jul 27 19:17:11 2008
@@ -300,11 +300,6 @@
}
}
- public void ClearManagedCache ()
- {
- base.Clear ();
- }
-
private bool saved_selection = false;
private ICacheableItem saved_focus_item = null;
public void SaveSelection ()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]