Commit Graph

5 Commits

Author SHA1 Message Date
Emmanuele Bassi
ce5a29bc38 recent-manager: Coalesce multiple changes
Since the ::changed implementation of GtkRecentManager implies a
synchronous write operation, when we receive multiple requests to emit a
::changed signal we might end up blocking.

This change coalesces multiple ::changed emission requests using the
following sequence:

  • the first request will install a timeout in 250 ms, which will
    emit the ::changed signal

  • each further request while the timeout has not been emitted
    will increase a counter

      ‣ if the counter reaches 250 before the timeout has been
        emitted, then the RecentManager will remove the timeout
        source and force a signal emission and reset the counter

This sequence should guarantee that frequent ::changed emission requests
are coalesced, and also guarantee that we don't let them dangle for too
long.

https://bugzilla.gnome.org/show_bug.cgi?id=616997
2010-10-22 18:08:48 +01:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Paolo Borelli
96d61db436 more tests for GtkRecentManager.
2008-06-17  Paolo Borelli  <pborelli@katamail.com>

	* gtk/tests/recentmanager.c: more tests for GtkRecentManager.

svn path=/trunk/; revision=20431
2008-06-17 15:46:40 +00:00
Paolo Borelli
72a9cc895a add some unit tests for GtkRecentManager.
2008-06-17  Paolo Borelli  <pborelli@katamail.com>

	* gtk/tests/recentmanager.c: add some unit tests for GtkRecentManager.


svn path=/trunk/; revision=20423
2008-06-17 13:37:59 +00:00