[Xfce4-commits] <midori:master> Distinguish Extension.load_from_folder mode from 'activate'
Christian Dywan
noreply at xfce.org
Wed Dec 12 00:48:02 CET 2012
Updating branch refs/heads/master
to 3918cede31481841142954edaaf90567f30c2706 (commit)
from e6c71db9be1017a24a0a45e608d1c5c842ef258a (commit)
commit 3918cede31481841142954edaaf90567f30c2706
Author: Christian Dywan <christian at twotoasts.de>
Date: Wed Dec 12 00:19:06 2012 +0100
Distinguish Extension.load_from_folder mode from 'activate'
Fixes: https://bugs.launchpad.net/midori/+bug/1088167
katze/katze.vapi | 2 ++
midori/midori-extension.c | 4 ++--
midori/midori.vapi | 5 +++--
tests/app.vala | 9 ++++++++-
4 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/katze/katze.vapi b/katze/katze.vapi
index e2d92d9..44da2cb 100644
--- a/katze/katze.vapi
+++ b/katze/katze.vapi
@@ -9,6 +9,8 @@ namespace Katze {
public class Array : Katze.Item {
public Array (GLib.Type type);
public void add_item (GLib.Object item);
+ public uint get_length ();
+ public GLib.List<unowned Item> get_items ();
}
[CCode (cheader_filename = "katze/katze.h")]
diff --git a/midori/midori-extension.c b/midori/midori-extension.c
index 0e530b6..34e5826 100644
--- a/midori/midori-extension.c
+++ b/midori/midori-extension.c
@@ -549,11 +549,11 @@ midori_extension_load_from_folder (MidoriApp* app,
if (!extension_path)
return;
- if (keys)
+ if (activate)
{
gint i = 0;
const gchar* filename;
- while ((filename = keys[i++]))
+ while (keys && (filename = keys[i++]))
midori_extension_activate_gracefully (app, extension_path, filename, activate);
}
else
diff --git a/midori/midori.vapi b/midori/midori.vapi
index 860391e..5f7c9b5 100644
--- a/midori/midori.vapi
+++ b/midori/midori.vapi
@@ -37,7 +37,7 @@ namespace Midori {
[NoAccessorMethod]
public Katze.Array history { get; set; }
[NoAccessorMethod]
- public Katze.Array extensions { get; set; }
+ public Katze.Array extensions { owned get; set; }
[NoAccessorMethod]
public Katze.Array browsers { get; }
public Browser? browser { get; }
@@ -142,7 +142,8 @@ namespace Midori {
public string key { get; set; }
public signal void activate (Midori.App app);
- public signal bool is_prepared ();
+ public bool is_prepared ();
+ public bool is_active ();
public signal void deactivate ();
public signal void open_preferences ();
diff --git a/tests/app.vala b/tests/app.vala
index c56d57d..15c521a 100644
--- a/tests/app.vala
+++ b/tests/app.vala
@@ -67,7 +67,14 @@ void app_extensions () {
var app = Midori.normal_app_new (null, "test-extensions-normal", false, null, null, null, -1, null);
var loop = MainContext.default ();
do { loop.iteration (true); } while (loop.pending ());
- Midori.Extension.load_from_folder (app, null, true);
+ /* No extensions loaded */
+ assert (app.extensions.get_length () == 0);
+ Midori.Extension.load_from_folder (app, null, false);
+ /* All extensions loaded, inactive */
+ assert (app.extensions.get_length () > 0);
+ foreach (var item in app.extensions.get_items ())
+ assert (!(item as Midori.Extension).is_active ());
+
for (var i = 0 ; i < 7; i++) {
var tab = app.browser.get_nth_tab (app.browser.add_uri ("about:blank"));
app.browser.close_tab (tab);
More information about the Xfce4-commits
mailing list