This commit is contained in:
parent
3857c324cc
commit
f6474b2ab6
14
59949.diff
14
59949.diff
@ -1,14 +0,0 @@
|
|||||||
Index: embed/mozilla/mozilla-embed.cpp
|
|
||||||
================================================================================
|
|
||||||
--- embed/mozilla/mozilla-embed.cpp
|
|
||||||
+++ embed/mozilla/mozilla-embed.cpp
|
|
||||||
@@ -485,6 +485,9 @@
|
|
||||||
MozillaEmbedPrivate *mpriv = MOZILLA_EMBED(embed)->priv;
|
|
||||||
nsresult rv;
|
|
||||||
|
|
||||||
+ if(!mpriv->browser)
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
nsCOMPtr<nsIURI> uri;
|
|
||||||
if (toplevel)
|
|
||||||
{
|
|
31
59950.diff
31
59950.diff
@ -1,31 +0,0 @@
|
|||||||
Index: epiphany-2.19.6/embed/ephy-embed.c
|
|
||||||
===================================================================
|
|
||||||
--- epiphany-2.19.6.orig/embed/ephy-embed.c
|
|
||||||
+++ epiphany-2.19.6/embed/ephy-embed.c
|
|
||||||
@@ -25,6 +25,8 @@
|
|
||||||
#include "ephy-embed-type-builtins.h"
|
|
||||||
#include "ephy-marshal.h"
|
|
||||||
|
|
||||||
+#include <string.h>
|
|
||||||
+
|
|
||||||
static void ephy_embed_base_init (gpointer g_class);
|
|
||||||
|
|
||||||
GType
|
|
||||||
@@ -438,8 +440,15 @@ void
|
|
||||||
ephy_embed_load_url (EphyEmbed *embed,
|
|
||||||
const char *url)
|
|
||||||
{
|
|
||||||
- EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed);
|
|
||||||
- iface->load_url (embed, url);
|
|
||||||
+ char *protocol;
|
|
||||||
+ protocol=malloc(strlen(url)+1);
|
|
||||||
+ strcpy(protocol,url);
|
|
||||||
+ protocol=strtok(protocol,":");
|
|
||||||
+ if (strcasecmp(protocol,"gopher")!=0)
|
|
||||||
+ {
|
|
||||||
+ EphyEmbedIface *iface = EPHY_EMBED_GET_IFACE (embed);
|
|
||||||
+ iface->load_url (embed, url);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
506
epiphany-avahi-bookmarks.patch
Normal file
506
epiphany-avahi-bookmarks.patch
Normal file
@ -0,0 +1,506 @@
|
|||||||
|
Index: src/bookmarks/ephy-bookmarks.c
|
||||||
|
===================================================================
|
||||||
|
--- src/bookmarks/ephy-bookmarks.c (Revision 8092)
|
||||||
|
+++ src/bookmarks/ephy-bookmarks.c (Arbeitskopie)
|
||||||
|
@@ -136,40 +136,11 @@
|
||||||
|
static void ephy_bookmarks_finalize (GObject *object);
|
||||||
|
static char *impl_resolve_address (EphyBookmarks*, const char*, const char*);
|
||||||
|
|
||||||
|
-static GObjectClass *parent_class = NULL;
|
||||||
|
+G_DEFINE_TYPE_WITH_CODE (EphyBookmarks, ephy_bookmarks, G_TYPE_OBJECT,
|
||||||
|
+ volatile GType flags_type; /* work around gcc's optimiser */
|
||||||
|
+ /* make sure the flags type is known */
|
||||||
|
+ flags_type = EPHY_TYPE_BOOKMARK_PROPERTY;)
|
||||||
|
|
||||||
|
-GType
|
||||||
|
-ephy_bookmarks_get_type (void)
|
||||||
|
-{
|
||||||
|
- static GType type = 0;
|
||||||
|
-
|
||||||
|
- if (G_UNLIKELY (type == 0))
|
||||||
|
- {
|
||||||
|
- const GTypeInfo our_info =
|
||||||
|
- {
|
||||||
|
- sizeof (EphyBookmarksClass),
|
||||||
|
- NULL, /* base_init */
|
||||||
|
- NULL, /* base_finalize */
|
||||||
|
- (GClassInitFunc) ephy_bookmarks_class_init,
|
||||||
|
- NULL,
|
||||||
|
- NULL, /* class_data */
|
||||||
|
- sizeof (EphyBookmarks),
|
||||||
|
- 0, /* n_preallocs */
|
||||||
|
- (GInstanceInitFunc) ephy_bookmarks_init
|
||||||
|
- };
|
||||||
|
- volatile GType flags_type; /* work around gcc's optimiser */
|
||||||
|
-
|
||||||
|
- /* make sure the flags type is known */
|
||||||
|
- flags_type = EPHY_TYPE_BOOKMARK_PROPERTY;
|
||||||
|
-
|
||||||
|
- type = g_type_register_static (G_TYPE_OBJECT,
|
||||||
|
- "EphyBookmarks",
|
||||||
|
- &our_info, 0);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return type;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
static void
|
||||||
|
ephy_bookmarks_init_defaults (EphyBookmarks *eb)
|
||||||
|
{
|
||||||
|
@@ -194,8 +165,6 @@
|
||||||
|
{
|
||||||
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
|
|
||||||
|
- parent_class = g_type_class_peek_parent (klass);
|
||||||
|
-
|
||||||
|
object_class->finalize = ephy_bookmarks_finalize;
|
||||||
|
|
||||||
|
klass->resolve_address = impl_resolve_address;
|
||||||
|
@@ -799,7 +768,10 @@
|
||||||
|
char *key_dup, *value_dup;
|
||||||
|
char *raw_txt;
|
||||||
|
size_t raw_txt_len;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
+ if (!input_text)
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
raw_txt_len = avahi_string_list_serialize (input_text, NULL, 0);
|
||||||
|
raw_txt = g_malloc (raw_txt_len);
|
||||||
|
raw_txt_len = avahi_string_list_serialize (input_text, raw_txt, raw_txt_len);
|
||||||
|
@@ -868,41 +840,14 @@
|
||||||
|
name);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static EphyNode *
|
||||||
|
-get_node_for_id (EphyBookmarks *bookmarks,
|
||||||
|
- char *node_id)
|
||||||
|
-{
|
||||||
|
- EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
- EphyNode *kid, *node = NULL;
|
||||||
|
- GPtrArray *children;
|
||||||
|
- const char *id;
|
||||||
|
- guint i;
|
||||||
|
-
|
||||||
|
- children = ephy_node_get_children (priv->local);
|
||||||
|
- for (i = 0; i < children->len; i++)
|
||||||
|
- {
|
||||||
|
- kid = g_ptr_array_index (children, i);
|
||||||
|
-
|
||||||
|
- id = ephy_node_get_property_string (kid,
|
||||||
|
- EPHY_NODE_BMK_PROP_SERVICE_ID);
|
||||||
|
-
|
||||||
|
- if (g_str_equal (id, node_id))
|
||||||
|
- {
|
||||||
|
- node = kid;
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- g_free (node_id);
|
||||||
|
-
|
||||||
|
- return node;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
EphyBookmarks *bookmarks;
|
||||||
|
+ GaServiceResolver *resolver;
|
||||||
|
EphyNode *node;
|
||||||
|
- guint new_node : 1;
|
||||||
|
+ char *name;
|
||||||
|
+ char *type;
|
||||||
|
+ char *domain;
|
||||||
|
} ResolveData;
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -921,20 +866,20 @@
|
||||||
|
{
|
||||||
|
EphyBookmarks *bookmarks = data->bookmarks;
|
||||||
|
EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
- EphyNode *node = data->node;
|
||||||
|
GValue value = { 0, };
|
||||||
|
const char *path = NULL;
|
||||||
|
char host[128];
|
||||||
|
GHashTable *text_table;
|
||||||
|
char *url;
|
||||||
|
gboolean was_immutable;
|
||||||
|
+ gboolean is_new_node = FALSE;
|
||||||
|
guint i;
|
||||||
|
|
||||||
|
+ g_print ("resolver_found_cb resolver %p\n", resolver);
|
||||||
|
+
|
||||||
|
was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
|
||||||
|
- g_hash_table_steal (priv->resolve_handles, node);
|
||||||
|
-
|
||||||
|
/* Find the protocol */
|
||||||
|
for (i = 0; i < G_N_ELEMENTS (zeroconf_protos); ++i)
|
||||||
|
{
|
||||||
|
@@ -945,6 +890,12 @@
|
||||||
|
}
|
||||||
|
if (i == G_N_ELEMENTS (zeroconf_protos)) return;
|
||||||
|
|
||||||
|
+ if (address == NULL)
|
||||||
|
+ {
|
||||||
|
+ g_warning ("Zeroconf failed to resolve host %s", name);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
text_table = decode_txt_record (txt);
|
||||||
|
|
||||||
|
if (text_table != NULL)
|
||||||
|
@@ -956,32 +907,60 @@
|
||||||
|
path = "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (address == NULL)
|
||||||
|
- {
|
||||||
|
- g_warning ("Zeroconf failed to resolve host %s", name);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
avahi_address_snprint (host, sizeof (host), address);
|
||||||
|
|
||||||
|
LOG ("0conf RESOLVED type=%s domain=%s name=%s => proto=%s host=%s port=%d path=%s\n",
|
||||||
|
type, domain, name,
|
||||||
|
zeroconf_protos[i], host, port, path);
|
||||||
|
|
||||||
|
+ was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
+ ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
+
|
||||||
|
+ if (data->node == NULL)
|
||||||
|
+ {
|
||||||
|
+ is_new_node = TRUE;
|
||||||
|
+
|
||||||
|
+ data->node = ephy_node_new (priv->db);
|
||||||
|
+ g_assert (data->node != NULL);
|
||||||
|
+
|
||||||
|
+ /* don't allow dragging this node */
|
||||||
|
+ ephy_node_set_is_drag_source (data->node, FALSE);
|
||||||
|
+
|
||||||
|
+ g_value_init (&value, G_TYPE_STRING);
|
||||||
|
+ g_value_take_string (&value,
|
||||||
|
+ get_id_for_response (data->type,
|
||||||
|
+ data->domain,
|
||||||
|
+ data->name));
|
||||||
|
+ ephy_node_set_property (data->node, EPHY_NODE_BMK_PROP_SERVICE_ID, &value);
|
||||||
|
+ g_value_unset (&value);
|
||||||
|
+
|
||||||
|
+ /* FIXME: limit length! */
|
||||||
|
+ ephy_node_set_property_string (data->node,
|
||||||
|
+ EPHY_NODE_BMK_PROP_TITLE,
|
||||||
|
+ name);
|
||||||
|
+
|
||||||
|
+ ephy_node_set_property_boolean (data->node,
|
||||||
|
+ EPHY_NODE_BMK_PROP_IMMUTABLE,
|
||||||
|
+ TRUE);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* FIXME: limit length! */
|
||||||
|
url = g_strdup_printf ("%s://%s:%d%s", zeroconf_protos[i], host, port, path);
|
||||||
|
|
||||||
|
g_value_init (&value, G_TYPE_STRING);
|
||||||
|
g_value_take_string (&value, url);
|
||||||
|
- ephy_node_set_property (node, EPHY_NODE_BMK_PROP_LOCATION, &value);
|
||||||
|
+ ephy_node_set_property (data->node, EPHY_NODE_BMK_PROP_LOCATION, &value);
|
||||||
|
g_value_unset (&value);
|
||||||
|
|
||||||
|
- if (data->new_node)
|
||||||
|
+ if (is_new_node)
|
||||||
|
{
|
||||||
|
- ephy_node_add_child (priv->bookmarks, node);
|
||||||
|
- ephy_node_add_child (priv->local, node);
|
||||||
|
+ ephy_node_add_child (priv->bookmarks, data->node);
|
||||||
|
+ ephy_node_add_child (priv->local, data->node);
|
||||||
|
}
|
||||||
|
|
||||||
|
ephy_node_db_set_immutable (priv->db, was_immutable);
|
||||||
|
+
|
||||||
|
+ g_hash_table_unref (text_table);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -989,56 +968,36 @@
|
||||||
|
GError *error,
|
||||||
|
ResolveData *data)
|
||||||
|
{
|
||||||
|
- EphyBookmarks *bookmarks = data->bookmarks;
|
||||||
|
- EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
- EphyNode *node = data->node;
|
||||||
|
- gboolean was_immutable;
|
||||||
|
+ g_print ("resolver_failure_cb resolver %p: %s\n", resolver, error?error->message:"(null)");
|
||||||
|
|
||||||
|
- was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
- ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
+ /* Remove the node, if present */
|
||||||
|
+ if (data->node != NULL)
|
||||||
|
+ {
|
||||||
|
+ EphyBookmarks *bookmarks = data->bookmarks;
|
||||||
|
+ EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
+ gboolean was_immutable;
|
||||||
|
|
||||||
|
- g_hash_table_steal (priv->resolve_handles, node);
|
||||||
|
-
|
||||||
|
- /* Error, don't add the service */
|
||||||
|
- ephy_node_unref (node);
|
||||||
|
- ephy_node_db_set_immutable (priv->db, was_immutable);
|
||||||
|
-
|
||||||
|
- return;
|
||||||
|
+ was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
+ ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
+ ephy_node_unref (data->node);
|
||||||
|
+ data->node = NULL;
|
||||||
|
+ ephy_node_db_set_immutable (priv->db, was_immutable);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-free_resolve_cb_data (gpointer data)
|
||||||
|
+resolve_data_free (ResolveData* data)
|
||||||
|
{
|
||||||
|
+ if (data->resolver)
|
||||||
|
+ g_object_unref (data->resolver);
|
||||||
|
+
|
||||||
|
+ g_free (data->type);
|
||||||
|
+ g_free (data->name);
|
||||||
|
+ g_free (data->domain);
|
||||||
|
g_slice_free (ResolveData, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-browser_removed_service_cb (GaServiceBrowser *browser,
|
||||||
|
- int interface,
|
||||||
|
- GaProtocol protocol,
|
||||||
|
- const char *name,
|
||||||
|
- const char *type,
|
||||||
|
- const char *domain,
|
||||||
|
- glong flags,
|
||||||
|
- EphyBookmarks *bookmarks)
|
||||||
|
-{
|
||||||
|
- EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
- EphyNode *node;
|
||||||
|
- char *node_id;
|
||||||
|
-
|
||||||
|
- node_id = get_id_for_response (type, domain, name);
|
||||||
|
- node = get_node_for_id (bookmarks, node_id);
|
||||||
|
-
|
||||||
|
- if (node != NULL)
|
||||||
|
- {
|
||||||
|
- g_hash_table_remove (priv->resolve_handles, node);
|
||||||
|
- ephy_node_unref (node);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
browser_new_service_cb (GaServiceBrowser *browser,
|
||||||
|
int interface,
|
||||||
|
GaProtocol protocol,
|
||||||
|
@@ -1049,84 +1008,91 @@
|
||||||
|
EphyBookmarks *bookmarks)
|
||||||
|
{
|
||||||
|
EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
- EphyNode *node;
|
||||||
|
- GValue value = { 0, };
|
||||||
|
- gboolean new_node = FALSE;
|
||||||
|
- GaServiceResolver *resolver = NULL;
|
||||||
|
ResolveData *data;
|
||||||
|
char *node_id;
|
||||||
|
+ GError *error = NULL;
|
||||||
|
|
||||||
|
node_id = get_id_for_response (type, domain, name);
|
||||||
|
- node = get_node_for_id (bookmarks, node_id);
|
||||||
|
|
||||||
|
LOG ("0conf ADD: type=%s domain=%s name=%s\n",
|
||||||
|
type, domain, name);
|
||||||
|
|
||||||
|
- if (node != NULL &&
|
||||||
|
- g_hash_table_lookup (priv->resolve_handles, node) != NULL) return;
|
||||||
|
-
|
||||||
|
- if (node == NULL)
|
||||||
|
+ if (g_hash_table_lookup (priv->resolve_handles, node_id) != NULL)
|
||||||
|
{
|
||||||
|
- gboolean was_immutable;
|
||||||
|
-
|
||||||
|
- was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
- ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
-
|
||||||
|
- node = ephy_node_new (priv->db);
|
||||||
|
- g_assert (node != NULL);
|
||||||
|
-
|
||||||
|
- new_node = TRUE;
|
||||||
|
-
|
||||||
|
- /* don't allow dragging this node */
|
||||||
|
- ephy_node_set_is_drag_source (node, FALSE);
|
||||||
|
-
|
||||||
|
- g_value_init (&value, G_TYPE_STRING);
|
||||||
|
- g_value_take_string (&value, get_id_for_response (type, domain, name));
|
||||||
|
- ephy_node_set_property (node, EPHY_NODE_BMK_PROP_SERVICE_ID, &value);
|
||||||
|
- g_value_unset (&value);
|
||||||
|
-
|
||||||
|
- /* FIXME: limit length! */
|
||||||
|
- ephy_node_set_property_string (node,
|
||||||
|
- EPHY_NODE_BMK_PROP_TITLE,
|
||||||
|
- name);
|
||||||
|
-
|
||||||
|
- ephy_node_set_property_boolean (node,
|
||||||
|
- EPHY_NODE_BMK_PROP_IMMUTABLE,
|
||||||
|
- TRUE);
|
||||||
|
-
|
||||||
|
- ephy_node_db_set_immutable (priv->db, was_immutable);
|
||||||
|
+ g_free (node_id);
|
||||||
|
+ return;
|
||||||
|
}
|
||||||
|
|
||||||
|
data = g_slice_new0 (ResolveData);
|
||||||
|
data->bookmarks = bookmarks;
|
||||||
|
- data->node = node;
|
||||||
|
- data->new_node = new_node;
|
||||||
|
+ data->node = NULL;
|
||||||
|
+ data->type = g_strdup (type);
|
||||||
|
+ data->name = g_strdup (name);
|
||||||
|
+ data->domain = g_strdup (domain);
|
||||||
|
|
||||||
|
- resolver = ga_service_resolver_new (AVAHI_IF_UNSPEC,
|
||||||
|
- AVAHI_PROTO_UNSPEC,
|
||||||
|
- name, type, domain,
|
||||||
|
- AVAHI_PROTO_UNSPEC,
|
||||||
|
- GA_LOOKUP_USE_MULTICAST);
|
||||||
|
- g_signal_connect_data (resolver, "found",
|
||||||
|
- G_CALLBACK (resolver_found_cb), data,
|
||||||
|
- (GClosureNotify) free_resolve_cb_data, 0);
|
||||||
|
- g_signal_connect_data (resolver, "failure",
|
||||||
|
- G_CALLBACK (resolver_failure_cb), data,
|
||||||
|
- (GClosureNotify) free_resolve_cb_data, 0);
|
||||||
|
- if (!ga_service_resolver_attach (resolver,
|
||||||
|
+ data->resolver = ga_service_resolver_new (AVAHI_IF_UNSPEC,
|
||||||
|
+ AVAHI_PROTO_UNSPEC,
|
||||||
|
+ name, type, domain,
|
||||||
|
+ AVAHI_PROTO_UNSPEC,
|
||||||
|
+ GA_LOOKUP_USE_MULTICAST);
|
||||||
|
+ g_signal_connect (data->resolver, "found",
|
||||||
|
+ G_CALLBACK (resolver_found_cb), data);
|
||||||
|
+ g_signal_connect (data->resolver, "failure",
|
||||||
|
+ G_CALLBACK (resolver_failure_cb), data);
|
||||||
|
+ if (!ga_service_resolver_attach (data->resolver,
|
||||||
|
priv->ga_client,
|
||||||
|
- NULL))
|
||||||
|
+ &error))
|
||||||
|
{
|
||||||
|
- g_warning ("Unable to resolve Zeroconf service %s", name);
|
||||||
|
- ephy_node_unref (node);
|
||||||
|
- free_resolve_cb_data (data);
|
||||||
|
+ g_warning ("Unable to resolve Zeroconf service %s: %s", name, error ? error->message : "(null)");
|
||||||
|
+ g_clear_error (&error);
|
||||||
|
+ resolve_data_free (data);
|
||||||
|
+ g_free (node_id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
g_hash_table_insert (priv->resolve_handles,
|
||||||
|
- node, resolver);
|
||||||
|
+ node_id /* transfer ownership */, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
+browser_removed_service_cb (GaServiceBrowser *browser,
|
||||||
|
+ int interface,
|
||||||
|
+ GaProtocol protocol,
|
||||||
|
+ const char *name,
|
||||||
|
+ const char *type,
|
||||||
|
+ const char *domain,
|
||||||
|
+ glong flags,
|
||||||
|
+ EphyBookmarks *bookmarks)
|
||||||
|
+{
|
||||||
|
+ EphyBookmarksPrivate *priv = bookmarks->priv;
|
||||||
|
+ char *node_id;
|
||||||
|
+ ResolveData *data;
|
||||||
|
+
|
||||||
|
+ node_id = get_id_for_response (type, domain, name);
|
||||||
|
+ data = g_hash_table_lookup (priv->resolve_handles, node_id);
|
||||||
|
+ /* shouldn't really happen, but let's play safe */
|
||||||
|
+ if (!data)
|
||||||
|
+ {
|
||||||
|
+ g_free (node_id);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (data->node != NULL)
|
||||||
|
+ {
|
||||||
|
+ gboolean was_immutable;
|
||||||
|
+
|
||||||
|
+ was_immutable = ephy_node_db_is_immutable (priv->db);
|
||||||
|
+ ephy_node_db_set_immutable (priv->db, FALSE);
|
||||||
|
+ ephy_node_unref (data->node);
|
||||||
|
+ data->node = NULL;
|
||||||
|
+ ephy_node_db_set_immutable (priv->db, was_immutable);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ g_hash_table_remove (priv->resolve_handles, node_id);
|
||||||
|
+ g_free (node_id);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
start_browsing (GaClient *ga_client,
|
||||||
|
EphyBookmarks *bookmarks)
|
||||||
|
{
|
||||||
|
@@ -1150,9 +1116,10 @@
|
||||||
|
NULL))
|
||||||
|
{
|
||||||
|
g_warning ("Unable to start Zeroconf subsystem");
|
||||||
|
+ g_object_unref (browser);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
priv->browse_handles[i] = browser;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1166,6 +1133,7 @@
|
||||||
|
{
|
||||||
|
if (avahi_client_errno (ga_client->avahi_client) == AVAHI_ERR_DISCONNECTED)
|
||||||
|
{
|
||||||
|
+ /* FIXMEchpe: is this correct */
|
||||||
|
/* Destroy and reconnect */
|
||||||
|
avahi_client_free (ga_client->avahi_client);
|
||||||
|
ga_client->avahi_client = NULL;
|
||||||
|
@@ -1197,7 +1165,9 @@
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
priv->ga_client = ga_client;
|
||||||
|
- priv->resolve_handles = g_hash_table_new (g_direct_hash, g_direct_equal);
|
||||||
|
+ priv->resolve_handles = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||||
|
+ g_free,
|
||||||
|
+ (GDestroyNotify) resolve_data_free);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -1210,6 +1180,7 @@
|
||||||
|
{
|
||||||
|
if (priv->browse_handles[i] != NULL)
|
||||||
|
{
|
||||||
|
+ g_object_unref (priv->browse_handles[i]);
|
||||||
|
priv->browse_handles[i] = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1222,7 +1193,8 @@
|
||||||
|
|
||||||
|
if (priv->local != NULL)
|
||||||
|
{
|
||||||
|
- ephy_node_remove_child (priv->keywords, priv->local);
|
||||||
|
+ ephy_node_unref (priv->local);
|
||||||
|
+ priv->local = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (priv->ga_client != NULL)
|
||||||
|
@@ -1431,7 +1403,7 @@
|
||||||
|
|
||||||
|
LOG ("Bookmarks finalized");
|
||||||
|
|
||||||
|
- G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||||
|
+ G_OBJECT_CLASS (ephy_bookmarks_parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
|
EphyBookmarks *
|
@ -1,18 +0,0 @@
|
|||||||
--- data/bme.desktop.in.in
|
|
||||||
+++ data/bme.desktop.in.in
|
|
||||||
@@ -1,13 +1,14 @@
|
|
||||||
[Desktop Entry]
|
|
||||||
Encoding=UTF-8
|
|
||||||
_Name=Epiphany Web Bookmarks
|
|
||||||
-_GenericName=Web Bookmarks
|
|
||||||
+_GenericName=Browse and organize your bookmarks
|
|
||||||
_Comment=Browse and organize your bookmarks
|
|
||||||
Exec=epiphany --bookmarks-editor
|
|
||||||
StartupNotify=true
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Icon=epiphany-bookmarks
|
|
||||||
+NoDisplay=true
|
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
|
||||||
X-GNOME-Bugzilla-Product=epiphany
|
|
||||||
X-GNOME-Bugzilla-Component=General
|
|
@ -1,15 +0,0 @@
|
|||||||
Index: epiphany-2.21.92/embed/mozilla/mozilla-x509-cert.h
|
|
||||||
===================================================================
|
|
||||||
--- epiphany-2.21.92.orig/embed/mozilla/mozilla-x509-cert.h
|
|
||||||
+++ epiphany-2.21.92/embed/mozilla/mozilla-x509-cert.h
|
|
||||||
@@ -56,7 +56,9 @@ GType mozilla_x509_ce
|
|
||||||
|
|
||||||
MozillaX509Cert *mozilla_x509_cert_new (nsIX509Cert *aMozCert);
|
|
||||||
|
|
||||||
-nsresult mozilla_x509_cert_get_mozilla_cert (MozillaX509Cert *cert, nsIX509Cert **aCert);
|
|
||||||
+nsresult mozilla_x509_cert_get_mozilla_cert (MozillaX509Cert *cert,
|
|
||||||
+ nsIX509Cert **aCert);
|
|
||||||
+
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
--- gnome-doc-utils.make
|
|
||||||
+++ gnome-doc-utils.make
|
|
||||||
@@ -661,8 +661,7 @@
|
|
||||||
$(INSTALL_DATA) $$omf $(DESTDIR)$(OMF_DIR)/$(DOC_MODULE)/$$omf; \
|
|
||||||
done
|
|
||||||
@if test "x$(_ENABLE_SK)" = "xtrue"; then \
|
|
||||||
- echo "scrollkeeper-update -p $(DESTDIR)$(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(DOC_MODULE)"; \
|
|
||||||
- scrollkeeper-update -p "$(DESTDIR)$(_sklocalstatedir)" -o "$(DESTDIR)$(OMF_DIR)/$(DOC_MODULE)"; \
|
|
||||||
+ echo "skipping scrollkeeper-update -p $(_sklocalstatedir) -o $(DESTDIR)$(OMF_DIR)/$(DOC_MODULE)"; \
|
|
||||||
fi;
|
|
||||||
|
|
||||||
install-doc-dsk:
|
|
@ -1,3 +1,25 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 26 10:42:39 CET 2008 - sbrabec@suse.cz
|
||||||
|
|
||||||
|
- Fixed crashes in avahi bookmarks processing (bgo#516008).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 21 02:31:56 CET 2008 - jpr@suse.de
|
||||||
|
|
||||||
|
- Remove obsolete -devel requires
|
||||||
|
- Remove obsolete version checks
|
||||||
|
- Remove patch that was purposely disabled
|
||||||
|
- Don't create the extensions dir manually, there is a defaul plugin
|
||||||
|
that does it for us
|
||||||
|
- Remove epiphany-desktop.patch, the GenericName is correct and there
|
||||||
|
is no reason to hide the desktop file
|
||||||
|
- Remove 59950.diff, its obsolete by a fix in a different spot see
|
||||||
|
bgo #165445
|
||||||
|
- Remove 59949.diff, its obsolete by a fix in a differenct spot, see
|
||||||
|
bgo #142184
|
||||||
|
- Remove epiphany-no-root.patch, --disable-scrollkeeper works fine
|
||||||
|
now
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 14 04:19:24 CET 2008 - maw@suse.de
|
Fri Mar 14 04:19:24 CET 2008 - maw@suse.de
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ BuildRequires: mozilla-xulrunner%{xulrunner_version}-devel
|
|||||||
%define mozilla_ver %(rpm -q --qf '%%{version}' mozilla-xulrunner%{xulrunner_version})
|
%define mozilla_ver %(rpm -q --qf '%%{version}' mozilla-xulrunner%{xulrunner_version})
|
||||||
Requires: mozilla-xulrunner%{xulrunner_version} = %{mozilla_ver}
|
Requires: mozilla-xulrunner%{xulrunner_version} = %{mozilla_ver}
|
||||||
%else
|
%else
|
||||||
%if %suse_version > 1000 && %suse_version <= 1010
|
%if %suse_version <= 1010
|
||||||
BuildRequires: gecko-sdk
|
BuildRequires: gecko-sdk
|
||||||
%define mozilla_ver %(rpm -q --qf '%%{version}' mozilla-xulrunner)
|
%define mozilla_ver %(rpm -q --qf '%%{version}' mozilla-xulrunner)
|
||||||
Requires: mozilla-xulrunner = %{mozilla_ver}
|
Requires: mozilla-xulrunner = %{mozilla_ver}
|
||||||
@ -30,20 +30,19 @@ Requires: mozilla = %{mozilla_ver}
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
Version: 2.22.0
|
Version: 2.22.0
|
||||||
Release: 1
|
Release: 9
|
||||||
Requires: %{name}-lang = %{version}
|
Requires: %{name}-lang = %{version}
|
||||||
License: GPL v2 or later
|
License: GPL v2 or later
|
||||||
Group: Productivity/Networking/Web/Browsers
|
Group: Productivity/Networking/Web/Browsers
|
||||||
%define interface_version 2.21
|
|
||||||
Summary: GNOME Web Browser Based on the Mozilla Rendering Engine
|
Summary: GNOME Web Browser Based on the Mozilla Rendering Engine
|
||||||
Source: %{name}-%{version}.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Patch4: 59950.diff
|
#PATCH-FIX-OPENSUSE epiphany-browser-plugins.patch bnc222861 -- Handle suse specific plugins dir
|
||||||
Patch5: 59949.diff
|
Patch1: epiphany-browser-plugins.patch
|
||||||
Patch9: %{name}-desktop.patch
|
#PATCH-FIX-OPENSUSE default-bookmarks.patch bnc293690 -- openSUSE specific bookmarks
|
||||||
Patch11: epiphany-no-root.patch
|
#BRAND: FIXME: There is no way to customize vendor bookmarks in epiphany yet.
|
||||||
Patch13: epiphany-browser-plugins.patch
|
Patch2: default-bookmarks.patch
|
||||||
Patch14: default-bookmarks.patch
|
#PATCH-FIX-UPSTREAM epiphany-avahi-bookmarks.patch bgo516008 -- avahi bookmarks processing
|
||||||
Patch15: epiphany-gcc4.3-fixes.patch
|
Patch3: epiphany-avahi-bookmarks.patch
|
||||||
Url: http://www.gnome.org/projects/epiphany/
|
Url: http://www.gnome.org/projects/epiphany/
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Requires: python-gtk python-gnome iso-codes gnome-icon-theme
|
Requires: python-gtk python-gnome iso-codes gnome-icon-theme
|
||||||
@ -67,8 +66,8 @@ Authors:
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: GNOME Web Browser based on the Mozilla Rendering Engine
|
Summary: GNOME Web Browser based on the Mozilla Rendering Engine
|
||||||
Group: Productivity/Networking/Web/Browsers
|
Group: Development/Libraries/GNOME
|
||||||
Requires: gtk2-devel libxml2-devel libgnomeui-devel libbonobo-devel orbit2-devel libglade2-devel gnome-vfs2-devel gconf2-devel
|
Requires: gtk2-devel libxml2-devel
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -111,13 +110,9 @@ Authors:
|
|||||||
%lang_package
|
%lang_package
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch4 -p1
|
%patch1
|
||||||
%patch5
|
%patch2 -p1
|
||||||
%patch9
|
%patch3
|
||||||
%patch11
|
|
||||||
%patch13
|
|
||||||
%patch14 -p1
|
|
||||||
###%patch15 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#cp -i data/default-prefs-gecko-1-8.js data/default-prefs-xulrunner.js
|
#cp -i data/default-prefs-gecko-1-8.js data/default-prefs-xulrunner.js
|
||||||
@ -128,9 +123,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
|
|||||||
# FIXME: es/epiphany.xml:*: parser error : Entity 'hellip' not defined
|
# FIXME: es/epiphany.xml:*: parser error : Entity 'hellip' not defined
|
||||||
%configure\
|
%configure\
|
||||||
--disable-scrollkeeper\
|
--disable-scrollkeeper\
|
||||||
%if %suse_version > 1000
|
|
||||||
--with-mozilla=xulrunner\
|
--with-mozilla=xulrunner\
|
||||||
%endif
|
|
||||||
--enable-dbus\
|
--enable-dbus\
|
||||||
--enable-zeroconf\
|
--enable-zeroconf\
|
||||||
--enable-network-manager
|
--enable-network-manager
|
||||||
@ -144,7 +137,6 @@ mkdir $RPM_BUILD_ROOT%{_datadir}/pixmaps
|
|||||||
ln -s ../icons/gnome/scalable/apps/web-browser.svg $RPM_BUILD_ROOT%{_datadir}/pixmaps/
|
ln -s ../icons/gnome/scalable/apps/web-browser.svg $RPM_BUILD_ROOT%{_datadir}/pixmaps/
|
||||||
%suse_update_desktop_file -N "Epiphany" %name Network WebBrowser
|
%suse_update_desktop_file -N "Epiphany" %name Network WebBrowser
|
||||||
%suse_update_desktop_file bme System Network
|
%suse_update_desktop_file bme System Network
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/epiphany/%{interface_version}/extensions
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
%find_gconf_schemas
|
%find_gconf_schemas
|
||||||
cat %{name}.schemas_list >%{name}.lst
|
cat %{name}.schemas_list >%{name}.lst
|
||||||
@ -194,6 +186,22 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/gtk-doc/html/epiphany
|
%{_datadir}/gtk-doc/html/epiphany
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 26 2008 sbrabec@suse.cz
|
||||||
|
- Fixed crashes in avahi bookmarks processing (bgo#516008).
|
||||||
|
* Fri Mar 21 2008 jpr@suse.de
|
||||||
|
- Remove obsolete -devel requires
|
||||||
|
- Remove obsolete version checks
|
||||||
|
- Remove patch that was purposely disabled
|
||||||
|
- Don't create the extensions dir manually, there is a defaul plugin
|
||||||
|
that does it for us
|
||||||
|
- Remove epiphany-desktop.patch, the GenericName is correct and there
|
||||||
|
is no reason to hide the desktop file
|
||||||
|
- Remove 59950.diff, its obsolete by a fix in a different spot see
|
||||||
|
bgo #165445
|
||||||
|
- Remove 59949.diff, its obsolete by a fix in a differenct spot, see
|
||||||
|
bgo #142184
|
||||||
|
- Remove epiphany-no-root.patch, --disable-scrollkeeper works fine
|
||||||
|
now
|
||||||
* Fri Mar 14 2008 maw@suse.de
|
* Fri Mar 14 2008 maw@suse.de
|
||||||
- Update to version 2.22.0:
|
- Update to version 2.22.0:
|
||||||
+ Bug fixes
|
+ Bug fixes
|
||||||
|
Loading…
Reference in New Issue
Block a user