summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lord <chris@openedhand.com>2006-02-13 17:13:07 +0000
committerChris Lord <chris@openedhand.com>2006-02-13 17:13:07 +0000
commitdeb4dd0de43dda3840d99fcc47156658938d421f (patch)
tree5b2f5713a806f31fc143e4fe1b1623003ff78fd3
parentaaeed35c6102608d0b11896eef2c8b428b07e2ee (diff)
downloadpoky-deb4dd0de43dda3840d99fcc47156658938d421f.tar.gz
Fix libcurl RPROVIDES, update gtkhtml2 patches and add web to oh-image
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@277 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--openembedded/conf/distro/poky.conf4
-rw-r--r--openembedded/packages/curl/curl_7.14.0.bb1
-rw-r--r--openembedded/packages/gtkhtml2/files/add-end-element-signal.patch141
-rw-r--r--openembedded/packages/gtkhtml2/files/css-media.patch28
-rw-r--r--openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch31
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-infinite-loop.patch91
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-margin-inherit.patch25
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-recreation2.patch93
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-style-change.patch29
-rwxr-xr-xopenembedded/packages/gtkhtml2/gtkhtml2_cvs.bb6
-rw-r--r--openembedded/packages/meta/task-oh.bb9
-rwxr-xr-xopenembedded/packages/web/web_snap20060213.bb (renamed from openembedded/packages/web/web_snap20060207.bb)1
12 files changed, 429 insertions, 30 deletions
diff --git a/openembedded/conf/distro/poky.conf b/openembedded/conf/distro/poky.conf
index a996183c79..077d4a3d13 100644
--- a/openembedded/conf/distro/poky.conf
+++ b/openembedded/conf/distro/poky.conf
@@ -79,7 +79,7 @@ PREFERRED_VERSION_gnome-vfs-dbus = "2.12.0+cvs${SRCDATE}"
79SRCDATE_gconf-dbus = "20060119" 79SRCDATE_gconf-dbus = "20060119"
80SRCDATE_gnome-vfs-dbus = "20060119" 80SRCDATE_gnome-vfs-dbus = "20060119"
81SRCDATE_contacts = "20060207" 81SRCDATE_contacts = "20060207"
82SRCDATE_dates = "20060120" 82SRCDATE_dates = "20060214"
83SRCDATE_eds-dbus = "20060126" 83SRCDATE_eds-dbus = "20060126"
84SRCDATE_minimo = "20050401" 84SRCDATE_minimo = "20050401"
85SRCDATE_ipkg-utils-native = "20050930" 85SRCDATE_ipkg-utils-native = "20050930"
@@ -173,4 +173,4 @@ PREFERRED_VERSION_xst ?= "0.15"
173 173
174PREFERRED_VERSION_oprofile ?= "0.0+cvs${SRCDATE}" 174PREFERRED_VERSION_oprofile ?= "0.0+cvs${SRCDATE}"
175 175
176PCMCIA_MANAGER = "pcmciautils" \ No newline at end of file 176PCMCIA_MANAGER = "pcmciautils"
diff --git a/openembedded/packages/curl/curl_7.14.0.bb b/openembedded/packages/curl/curl_7.14.0.bb
index a0ad4d14d7..b163e955ff 100644
--- a/openembedded/packages/curl/curl_7.14.0.bb
+++ b/openembedded/packages/curl/curl_7.14.0.bb
@@ -2,6 +2,7 @@ DESCRIPTION = "Command line tool and library for client-side URL transfers."
2LICENSE = "MIT" 2LICENSE = "MIT"
3DEPENDS = "zlib" 3DEPENDS = "zlib"
4SECTION = "console/network" 4SECTION = "console/network"
5RPROVIDES_lib${PN} += "libcurl"
5 6
6SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2" 7SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2"
7S = "${WORKDIR}/curl-${PV}" 8S = "${WORKDIR}/curl-${PV}"
diff --git a/openembedded/packages/gtkhtml2/files/add-end-element-signal.patch b/openembedded/packages/gtkhtml2/files/add-end-element-signal.patch
new file mode 100644
index 0000000000..66bfc16fd5
--- /dev/null
+++ b/openembedded/packages/gtkhtml2/files/add-end-element-signal.patch
@@ -0,0 +1,141 @@
1Index: libgtkhtml/document/htmldocument.c
2===================================================================
3--- libgtkhtml/document/htmldocument.c.orig 2006-02-11 05:21:28.000000000 +0000
4+++ libgtkhtml/document/htmldocument.c 2006-02-11 15:41:06.000000000 +0000
5@@ -48,6 +48,7 @@ enum {
6
7 /* DOM change events */
8 NODE_INSERTED,
9+ NODE_FINISHED,
10 NODE_REMOVED,
11 TEXT_UPDATED,
12 STYLE_UPDATED,
13@@ -536,6 +537,12 @@ html_document_new_node (HtmlParser *pars
14 }
15
16 static void
17+html_document_finished_node (HtmlParser *parser, DomNode *node, HtmlDocument *document)
18+{
19+ g_signal_emit (G_OBJECT (document), document_signals [NODE_FINISHED], 0, node);
20+}
21+
22+static void
23 html_document_finalize (GObject *object)
24 {
25 HtmlDocument *document = HTML_DOCUMENT (object);
26@@ -639,6 +646,16 @@ html_document_class_init (HtmlDocumentCl
27 g_cclosure_marshal_VOID__OBJECT,
28 G_TYPE_NONE, 1,
29 DOM_TYPE_NODE);
30+
31+ document_signals [NODE_FINISHED] =
32+ g_signal_new ("node_finished",
33+ G_TYPE_FROM_CLASS (object_class),
34+ G_SIGNAL_RUN_LAST,
35+ G_STRUCT_OFFSET (HtmlDocumentClass, node_finished),
36+ NULL, NULL,
37+ g_cclosure_marshal_VOID__OBJECT,
38+ G_TYPE_NONE, 1,
39+ DOM_TYPE_NODE);
40
41 document_signals [NODE_REMOVED] =
42 g_signal_new ("node_removed",
43@@ -818,6 +835,9 @@ html_document_open_stream (HtmlDocument
44 g_signal_connect (document->parser, "done_parsing",
45 (GCallback) html_document_done_parsing,
46 document);
47+ g_signal_connect (document->parser, "finished_node",
48+ (GCallback) html_document_finished_node,
49+ document);
50
51 document->state = HTML_DOCUMENT_STATE_PARSING;
52 return TRUE;
53Index: libgtkhtml/document/htmldocument.h
54===================================================================
55--- libgtkhtml/document/htmldocument.h.orig 2006-02-11 05:21:28.000000000 +0000
56+++ libgtkhtml/document/htmldocument.h 2006-02-11 15:35:38.000000000 +0000
57@@ -80,6 +80,7 @@ struct _HtmlDocumentClass {
58
59 /* DOM change events */
60 void (*node_inserted) (HtmlDocument *document, DomNode *node);
61+ void (*node_finished) (HtmlDocument *document, DomNode *node);
62 void (*node_removed) (HtmlDocument *document, DomNode *node);
63 void (*text_updated) (HtmlDocument *document, DomNode *node);
64 void (*style_updated) (HtmlDocument *document, DomNode *node, HtmlStyleChange style_change);
65Index: libgtkhtml/document/htmlparser.c
66===================================================================
67--- libgtkhtml/document/htmlparser.c.orig 2006-01-17 11:50:54.000000000 +0000
68+++ libgtkhtml/document/htmlparser.c 2006-02-11 17:21:20.000000000 +0000
69@@ -28,6 +28,7 @@ enum {
70 NEW_NODE,
71 DONE_PARSING,
72 PARSED_DOCUMENT_NODE,
73+ FINISHED_NODE,
74 LAST_SIGNAL
75 };
76
77@@ -84,8 +85,13 @@ static void
78 html_endElement (void *ctx, const xmlChar *name)
79 {
80 HtmlParser *parser = HTML_PARSER (ctx);
81+ DomNode *node;
82
83 xmlSAX2EndElement (parser->xmlctxt, name);
84+
85+ node = dom_Node_mkref (xmlGetLastChild (parser->xmlctxt->node));
86+ if (node)
87+ g_signal_emit (G_OBJECT (parser), parser_signals [FINISHED_NODE], 0, node);
88 }
89
90 static void
91@@ -241,6 +247,15 @@ html_parser_class_init (HtmlParserClass
92 g_cclosure_marshal_VOID__VOID,
93 G_TYPE_NONE, 0);
94
95+ parser_signals [FINISHED_NODE] =
96+ g_signal_new ("finished_node",
97+ G_TYPE_FROM_CLASS (object_class),
98+ G_SIGNAL_RUN_LAST,
99+ G_STRUCT_OFFSET (HtmlParserClass, finished_node),
100+ NULL, NULL,
101+ g_cclosure_marshal_VOID__OBJECT,
102+ G_TYPE_NONE, 1,
103+ DOM_TYPE_NODE);
104 }
105
106 static void
107@@ -281,11 +296,11 @@ html_parser_set_type (HtmlParser *parser
108 /* FIXME: Free parser if existing */
109 if (parser_type == HTML_PARSER_TYPE_HTML) {
110 parser->xmlctxt = htmlCreatePushParserCtxt (SAXHandler, parser,
111- parser->chars, parser->res, NULL, 0);
112+ NULL, 0, NULL, 0);
113 }
114 else {
115 parser->xmlctxt = xmlCreatePushParserCtxt (SAXHandler, parser,
116- parser->chars, parser->res, NULL);
117+ NULL, 0, NULL);
118 }
119
120
121Index: libgtkhtml/document/htmlparser.h
122===================================================================
123--- libgtkhtml/document/htmlparser.h.orig 2006-01-17 11:50:54.000000000 +0000
124+++ libgtkhtml/document/htmlparser.h 2006-02-11 18:57:51.000000000 +0000
125@@ -57,8 +57,6 @@ struct _HtmlParser {
126
127 /* Used by libxml */
128 xmlParserCtxtPtr xmlctxt;
129- int res;
130- char chars[10];
131
132 gboolean blocking;
133 DomNode *blocking_node;
134@@ -71,6 +69,7 @@ struct _HtmlParserClass {
135 void (* done_parsing) (HtmlParser *parser);
136 void (* new_node) (HtmlParser *parser, DomNode *node);
137 void (* parsed_document_node) (HtmlParser *parser, DomDocument *document);
138+ void (* finished_node) (HtmlParser *parser, DomNode *node);
139 };
140 typedef struct _HtmlParserClass HtmlParserClass;
141
diff --git a/openembedded/packages/gtkhtml2/files/css-media.patch b/openembedded/packages/gtkhtml2/files/css-media.patch
index a2d4d2b68c..c5500ca2d1 100644
--- a/openembedded/packages/gtkhtml2/files/css-media.patch
+++ b/openembedded/packages/gtkhtml2/files/css-media.patch
@@ -1,7 +1,7 @@
1Index: libgtkhtml/css/cssmatcher.c 1Index: libgtkhtml/css/cssmatcher.c
2=================================================================== 2===================================================================
3--- libgtkhtml/css/cssmatcher.c.orig 2006-02-05 18:19:15.000000000 +0000 3--- libgtkhtml/css/cssmatcher.c.orig 2006-02-11 05:18:03.000000000 +0000
4+++ libgtkhtml/css/cssmatcher.c 2006-02-05 18:20:15.000000000 +0000 4+++ libgtkhtml/css/cssmatcher.c 2006-02-11 05:21:28.000000000 +0000
5@@ -2411,7 +2411,8 @@ css_matcher_apply_stylesheet (HtmlDocume 5@@ -2411,7 +2411,8 @@ css_matcher_apply_stylesheet (HtmlDocume
6 CssStatement *stat = list->data; 6 CssStatement *stat = list->data;
7 gint j; 7 gint j;
@@ -155,8 +155,8 @@ Index: libgtkhtml/css/cssmatcher.c
155 155
156Index: libgtkhtml/document/htmldocument.c 156Index: libgtkhtml/document/htmldocument.c
157=================================================================== 157===================================================================
158--- libgtkhtml/document/htmldocument.c.orig 2006-02-05 18:20:06.000000000 +0000 158--- libgtkhtml/document/htmldocument.c.orig 2006-02-11 05:21:18.000000000 +0000
159+++ libgtkhtml/document/htmldocument.c 2006-02-05 18:20:15.000000000 +0000 159+++ libgtkhtml/document/htmldocument.c 2006-02-11 05:21:28.000000000 +0000
160@@ -142,9 +142,7 @@ html_document_stylesheet_stream_close (c 160@@ -142,9 +142,7 @@ html_document_stylesheet_stream_close (c
161 if (!buffer) 161 if (!buffer)
162 return; 162 return;
@@ -268,7 +268,7 @@ Index: libgtkhtml/document/htmldocument.c
268 268
269 g_signal_connect (G_OBJECT (document->image_factory), "request_image", 269 g_signal_connect (G_OBJECT (document->image_factory), "request_image",
270 G_CALLBACK (html_document_request_image), document); 270 G_CALLBACK (html_document_request_image), document);
271@@ -1150,3 +1157,24 @@ html_document_remove_stylesheet (HtmlDoc 271@@ -1159,3 +1166,24 @@ html_document_remove_stylesheet (HtmlDoc
272 return TRUE; 272 return TRUE;
273 } 273 }
274 274
@@ -295,8 +295,8 @@ Index: libgtkhtml/document/htmldocument.c
295+} 295+}
296Index: libgtkhtml/document/htmldocument.h 296Index: libgtkhtml/document/htmldocument.h
297=================================================================== 297===================================================================
298--- libgtkhtml/document/htmldocument.h.orig 2006-02-05 18:20:06.000000000 +0000 298--- libgtkhtml/document/htmldocument.h.orig 2006-02-11 05:20:51.000000000 +0000
299+++ libgtkhtml/document/htmldocument.h 2006-02-05 18:20:15.000000000 +0000 299+++ libgtkhtml/document/htmldocument.h 2006-02-11 05:21:28.000000000 +0000
300@@ -64,6 +64,8 @@ struct _HtmlDocument { 300@@ -64,6 +64,8 @@ struct _HtmlDocument {
301 DomNode *hover_node; 301 DomNode *hover_node;
302 DomNode *active_node; 302 DomNode *active_node;
@@ -316,7 +316,7 @@ Index: libgtkhtml/document/htmldocument.h
316 GType html_document_get_type (void); 316 GType html_document_get_type (void);
317@@ -116,6 +119,10 @@ DomNode *html_document_find_anchor 317@@ -116,6 +119,10 @@ DomNode *html_document_find_anchor
318 void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); 318 void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet);
319 gboolean html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); 319 void html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet);
320 320
321+void html_document_set_media_type (HtmlDocument *document, const gchar *type); 321+void html_document_set_media_type (HtmlDocument *document, const gchar *type);
322+const gchar *html_document_get_media_type (HtmlDocument *document); 322+const gchar *html_document_get_media_type (HtmlDocument *document);
@@ -327,8 +327,8 @@ Index: libgtkhtml/document/htmldocument.h
327 #endif /* __HTMLDOCUMENT_H__ */ 327 #endif /* __HTMLDOCUMENT_H__ */
328Index: libgtkhtml/css/cssparser.c 328Index: libgtkhtml/css/cssparser.c
329=================================================================== 329===================================================================
330--- libgtkhtml/css/cssparser.c.orig 2006-02-05 18:19:15.000000000 +0000 330--- libgtkhtml/css/cssparser.c.orig 2006-02-11 05:18:03.000000000 +0000
331+++ libgtkhtml/css/cssparser.c 2006-02-05 18:20:15.000000000 +0000 331+++ libgtkhtml/css/cssparser.c 2006-02-11 05:21:28.000000000 +0000
332@@ -688,6 +688,32 @@ css_parser_parse_value (const gchar *buf 332@@ -688,6 +688,32 @@ css_parser_parse_value (const gchar *buf
333 return pos; 333 return pos;
334 } 334 }
@@ -441,8 +441,8 @@ Index: libgtkhtml/css/cssparser.c
441 if (pos == -1) 441 if (pos == -1)
442Index: libgtkhtml/css/cssparser.h 442Index: libgtkhtml/css/cssparser.h
443=================================================================== 443===================================================================
444--- libgtkhtml/css/cssparser.h.orig 2006-02-05 18:19:15.000000000 +0000 444--- libgtkhtml/css/cssparser.h.orig 2006-02-11 05:18:03.000000000 +0000
445+++ libgtkhtml/css/cssparser.h 2006-02-05 18:20:15.000000000 +0000 445+++ libgtkhtml/css/cssparser.h 2006-02-11 05:21:28.000000000 +0000
446@@ -30,7 +30,7 @@ 446@@ -30,7 +30,7 @@
447 447
448 G_BEGIN_DECLS 448 G_BEGIN_DECLS
@@ -454,8 +454,8 @@ Index: libgtkhtml/css/cssparser.h
454 G_END_DECLS 454 G_END_DECLS
455Index: libgtkhtml/css/cssstylesheet.h 455Index: libgtkhtml/css/cssstylesheet.h
456=================================================================== 456===================================================================
457--- libgtkhtml/css/cssstylesheet.h.orig 2006-02-05 18:19:15.000000000 +0000 457--- libgtkhtml/css/cssstylesheet.h.orig 2006-02-11 05:18:03.000000000 +0000
458+++ libgtkhtml/css/cssstylesheet.h 2006-02-05 18:20:15.000000000 +0000 458+++ libgtkhtml/css/cssstylesheet.h 2006-02-11 05:21:28.000000000 +0000
459@@ -99,6 +99,7 @@ struct _CssStatement { 459@@ -99,6 +99,7 @@ struct _CssStatement {
460 CssValue *url; 460 CssValue *url;
461 gboolean fetched; 461 gboolean fetched;
diff --git a/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch b/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch
index 01c9838953..4fe7e9045b 100644
--- a/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch
+++ b/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch
@@ -1,8 +1,8 @@
1Index: libgtkhtml/document/htmldocument.c 1Index: libgtkhtml/document/htmldocument.c
2=================================================================== 2===================================================================
3--- libgtkhtml/document/htmldocument.c.orig 2006-02-05 18:19:17.000000000 +0000 3--- libgtkhtml/document/htmldocument.c.orig 2006-02-11 05:06:30.000000000 +0000
4+++ libgtkhtml/document/htmldocument.c 2006-02-05 18:20:06.000000000 +0000 4+++ libgtkhtml/document/htmldocument.c 2006-02-11 05:21:18.000000000 +0000
5@@ -1122,3 +1122,31 @@ html_document_find_anchor (HtmlDocument 5@@ -1122,3 +1122,40 @@ html_document_find_anchor (HtmlDocument
6 else 6 else
7 return NULL; 7 return NULL;
8 } 8 }
@@ -12,7 +12,7 @@ Index: libgtkhtml/document/htmldocument.c
12+{ 12+{
13+ HtmlStyleChange style_change; 13+ HtmlStyleChange style_change;
14+ 14+
15+ g_return_val_if_fail (HTML_IS_DOCUMENT (document), NULL); 15+ g_return_if_fail (HTML_IS_DOCUMENT (document));
16+ 16+
17+ /* Note: @import not supported for user stylesheets, due to 17+ /* Note: @import not supported for user stylesheets, due to
18+ * complications it would cause with removal. 18+ * complications it would cause with removal.
@@ -20,30 +20,39 @@ Index: libgtkhtml/document/htmldocument.c
20+ 20+
21+ document->stylesheets = g_slist_append (document->stylesheets, sheet); 21+ document->stylesheets = g_slist_append (document->stylesheets, sheet);
22+ 22+
23+ style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE); 23+ if (document->dom_document) {
24+ g_signal_emit (G_OBJECT (document), document_signals [STYLE_UPDATED], 0, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), style_change); 24+ style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE);
25+ g_signal_emit (G_OBJECT (document), document_signals [STYLE_UPDATED], 0, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), style_change);
26+ }
25+} 27+}
26+ 28+
27+gboolean 29+void
28+html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet) 30+html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet)
29+{ 31+{
30+ g_return_val_if_fail (stylesheet && HTML_IS_DOCUMENT (document), FALSE); 32+ HtmlStyleChange style_change;
33+
34+ g_return_if_fail (stylesheet && HTML_IS_DOCUMENT (document));
31+ 35+
32+ document->stylesheets = g_slist_remove (document->stylesheets, stylesheet); 36+ document->stylesheets = g_slist_remove (document->stylesheets, stylesheet);
33+ 37+
38+ if (document->dom_document) {
39+ style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE);
40+ g_signal_emit (G_OBJECT (document), document_signals [STYLE_UPDATED], 0, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), style_change);
41+ }
42+
34+ return TRUE; 43+ return TRUE;
35+} 44+}
36+ 45+
37Index: libgtkhtml/document/htmldocument.h 46Index: libgtkhtml/document/htmldocument.h
38=================================================================== 47===================================================================
39--- libgtkhtml/document/htmldocument.h.orig 2006-02-05 18:19:17.000000000 +0000 48--- libgtkhtml/document/htmldocument.h.orig 2006-02-11 05:06:30.000000000 +0000
40+++ libgtkhtml/document/htmldocument.h 2006-02-05 18:20:06.000000000 +0000 49+++ libgtkhtml/document/htmldocument.h 2006-02-11 05:20:51.000000000 +0000
41@@ -113,6 +113,9 @@ void html_document_update_active_nod 50@@ -113,6 +113,9 @@ void html_document_update_active_nod
42 void html_document_update_focus_element (HtmlDocument *document, DomElement *element); 51 void html_document_update_focus_element (HtmlDocument *document, DomElement *element);
43 DomNode *html_document_find_anchor (HtmlDocument *doc, const gchar *anchor); 52 DomNode *html_document_find_anchor (HtmlDocument *doc, const gchar *anchor);
44 53
45+void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); 54+void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet);
46+gboolean html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); 55+void html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet);
47+ 56+
48 G_END_DECLS 57 G_END_DECLS
49 58
diff --git a/openembedded/packages/gtkhtml2/files/fix-infinite-loop.patch b/openembedded/packages/gtkhtml2/files/fix-infinite-loop.patch
new file mode 100644
index 0000000000..c2f36daf88
--- /dev/null
+++ b/openembedded/packages/gtkhtml2/files/fix-infinite-loop.patch
@@ -0,0 +1,91 @@
1Index: libgtkhtml/layout/htmlbox.c
2===================================================================
3--- libgtkhtml/layout/htmlbox.c.orig 2006-02-08 23:43:30.000000000 +0000
4+++ libgtkhtml/layout/htmlbox.c 2006-02-11 04:49:55.000000000 +0000
5@@ -873,26 +873,21 @@ html_box_check_min_max_width_height (Htm
6 *boxheight = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_height, 0);
7 }
8
9- /* Maintain aspect ratio if it's an image - bias towards making image smaller */
10+ /* Maintain aspect ratio if it's an image */
11 if (HTML_IS_BOX_IMAGE (self)) {
12 if ((*boxwidth > old_width) && (*boxheight >= old_height)) {
13 *boxheight = *boxheight * (gdouble)(*boxwidth / (gdouble)old_width);
14- html_box_check_min_max_width_height (self, boxwidth, boxheight);
15 return;
16 }
17-
18- if ((*boxheight > old_height) && (*boxwidth >= old_width)) {
19+ else if ((*boxheight > old_height) && (*boxwidth >= old_width)) {
20 *boxwidth = *boxwidth * (gdouble)(*boxheight / (gdouble)old_height);
21- html_box_check_min_max_width_height (self, boxwidth, boxheight);
22 return;
23 }
24-
25- if ((*boxwidth < old_width) && (*boxheight <= old_height)) {
26+ else if ((*boxwidth < old_width) && (*boxheight <= old_height)) {
27 *boxheight = *boxheight * (gdouble)(*boxwidth / (gdouble)old_width);
28 return;
29 }
30-
31- if ((*boxheight < old_height) && (*boxwidth <= old_width)) {
32+ else if ((*boxheight < old_height) && (*boxwidth <= old_width)) {
33 *boxwidth = *boxwidth * (gdouble)(*boxheight / (gdouble)old_height);
34 return;
35 }
36Index: libgtkhtml/layout/html/htmlboximage.c
37===================================================================
38--- libgtkhtml/layout/html/htmlboximage.c.orig 2006-02-08 23:41:33.000000000 +0000
39+++ libgtkhtml/layout/html/htmlboximage.c 2006-02-11 05:01:36.000000000 +0000
40@@ -176,8 +176,26 @@ html_box_image_relayout (HtmlBox *box, H
41
42 html_box_check_min_max_width_height (box, &width, &height);
43
44- if (old_width != width || old_height != height)
45+ /* Guard against oscillation - When max-width/height alters the
46+ * size of an image, the aspect ratio is maintained, but this
47+ * can cause an infinite resizing loop as the size oscillates
48+ * between two sizes that alternately require and don't
49+ * require a scrollbar.
50+ */
51+ if ((old_width != width || old_height != height) && (width != image->last_width[1] || height != image->last_height[1])) {
52 html_box_image_update_scaled_pixbuf (image, width, height);
53+ image->last_width[1] = image->last_width[0];
54+ image->last_height[1] = image->last_height[0];
55+ image->last_width[0] = width;
56+ image->last_height[0] = height;
57+ } else {
58+ image->last_width[1] = image->last_width[0];
59+ image->last_height[1] = image->last_height[0];
60+ image->last_width[0] = width;
61+ image->last_height[0] = height;
62+ width = old_width;
63+ height = old_height;
64+ }
65 }
66 else {
67 if (style->width.type != HTML_LENGTH_AUTO)
68@@ -239,6 +257,10 @@ html_box_image_init (HtmlBoxImage *image
69 image->content_height = 20;
70 image->image = NULL;
71 image->scaled_pixbuf = NULL;
72+ image->last_width[0] = 0;
73+ image->last_height[0] = 0;
74+ image->last_width[1] = 0;
75+ image->last_height[1] = 0;
76 }
77
78 GType
79Index: libgtkhtml/layout/html/htmlboximage.h
80===================================================================
81--- libgtkhtml/layout/html/htmlboximage.h.orig 2001-08-05 12:45:30.000000000 +0100
82+++ libgtkhtml/layout/html/htmlboximage.h 2006-02-11 04:40:44.000000000 +0000
83@@ -49,6 +49,8 @@ struct _HtmlBoxImage {
84 GdkPixbuf *scaled_pixbuf;
85 gboolean updated;
86 HtmlView *view;
87+
88+ gint last_width[2], last_height[2];
89 };
90
91 struct _HtmlBoxImageClass {
diff --git a/openembedded/packages/gtkhtml2/files/fix-margin-inherit.patch b/openembedded/packages/gtkhtml2/files/fix-margin-inherit.patch
new file mode 100644
index 0000000000..16337b7cc1
--- /dev/null
+++ b/openembedded/packages/gtkhtml2/files/fix-margin-inherit.patch
@@ -0,0 +1,25 @@
1Index: libgtkhtml/layout/htmlbox.c
2===================================================================
3--- libgtkhtml/layout/htmlbox.c.orig 2006-02-06 01:50:52.000000000 +0000
4+++ libgtkhtml/layout/htmlbox.c 2006-02-06 01:53:16.000000000 +0000
5@@ -151,17 +151,13 @@ simple_margin (HtmlStyle *style)
6 static gboolean
7 need_containing_width (HtmlBox *box, gint width)
8 {
9- HtmlStyle *style;
10-
11 if (width > 0)
12 return FALSE;
13
14- style = HTML_BOX_GET_STYLE (box);
15-
16- if (simple_margin (style))
17- return FALSE;
18+ if (html_box_get_containing_block (box))
19+ return TRUE;
20
21- return TRUE;
22+ return FALSE;
23 }
24
25 gint
diff --git a/openembedded/packages/gtkhtml2/files/fix-recreation2.patch b/openembedded/packages/gtkhtml2/files/fix-recreation2.patch
new file mode 100644
index 0000000000..92a8c8fd21
--- /dev/null
+++ b/openembedded/packages/gtkhtml2/files/fix-recreation2.patch
@@ -0,0 +1,93 @@
1Index: libgtkhtml/view/htmlview.c
2===================================================================
3--- libgtkhtml/view/htmlview.c.orig 2006-02-11 05:06:22.000000000 +0000
4+++ libgtkhtml/view/htmlview.c 2006-02-11 05:07:01.000000000 +0000
5@@ -2135,38 +2135,31 @@ html_view_style_updated (HtmlDocument *d
6 HtmlBox *new_box = NULL;
7
8 /* Don't replace boxes where display: none has been set */
9- if (style->display == HTML_DISPLAY_NONE) {
10- html_view_removed (document, node, view);
11+ if (!style || style->display == HTML_DISPLAY_NONE)
12 break;
13- }
14
15 new_box = html_box_factory_new_box (view, node, TRUE);
16 g_assert (new_box);
17
18 new_box->dom_node = node;
19 g_object_add_weak_pointer (G_OBJECT (node), (gpointer *)&(new_box->dom_node));
20+ html_box_handle_html_properties (new_box, node->xmlnode);
21 new_box->next = box->next;
22 new_box->prev = box->prev;
23 new_box->parent = box->parent;
24- new_box->children = box->children;
25
26- if (box->next) box->next->prev = new_box;
27- if (box->prev) box->prev->next = new_box;
28- if (box->parent)
29+ if (box->parent) {
30 if (box->parent->children == box)
31 box->parent->children = new_box;
32+ }
33+ if (box->next) box->next->prev = new_box;
34+ if (box->prev) box->prev->next = new_box;
35 if (box->children) {
36 HtmlBox *child = box->children;
37 while (child) {
38- if (child->parent == box)
39- child->parent = new_box;
40- child = child->prev;
41- }
42- child = box->children->next;
43- while (child) {
44- if (child->parent == box)
45- child->parent = new_box;
46- child = child->next;
47+ HtmlBox *temp = child->next;
48+ html_box_append_child (new_box, child);
49+ child = temp;
50 }
51 }
52
53@@ -2176,7 +2169,6 @@ html_view_style_updated (HtmlDocument *d
54 html_view_remove_layout_box (view, node);
55 g_object_unref (box);
56
57- html_box_handle_html_properties (new_box, node->xmlnode);
58 html_view_add_layout_box (view, node, new_box);
59 html_view_relayout_callback (document, node, view);
60 break;
61Index: libgtkhtml/graphics/htmlimage.c
62===================================================================
63--- libgtkhtml/graphics/htmlimage.c.orig 2006-02-11 05:06:22.000000000 +0000
64+++ libgtkhtml/graphics/htmlimage.c 2006-02-11 05:06:34.000000000 +0000
65@@ -142,6 +142,7 @@ static void
66 html_image_init (HtmlImage *image)
67 {
68 image->pixbuf = NULL;
69+ image->stream = NULL;
70 image->broken = FALSE;
71 image->loading = FALSE;
72 image->loader = gdk_pixbuf_loader_new ();
73Index: libgtkhtml/graphics/htmlimagefactory.c
74===================================================================
75--- libgtkhtml/graphics/htmlimagefactory.c.orig 2006-02-11 05:06:22.000000000 +0000
76+++ libgtkhtml/graphics/htmlimagefactory.c 2006-02-11 05:07:43.000000000 +0000
77@@ -146,7 +146,7 @@ html_image_factory_get_image (HtmlImageF
78
79 image = HTML_IMAGE (g_object_new (HTML_IMAGE_TYPE, NULL));
80
81- g_object_weak_ref (G_OBJECT (image), (GWeakNotify)html_image_shutdown, image_factory);
82+ g_signal_connect_swapped (G_OBJECT (image), "last_unref", G_CALLBACK (html_image_shutdown), image_factory);
83
84 image->loading = TRUE;
85
86@@ -154,6 +154,7 @@ html_image_factory_get_image (HtmlImageF
87 image);
88
89 image->stream = stream;
90+ g_object_add_weak_pointer (G_OBJECT (stream), (gpointer *) &(image->stream));
91 g_object_add_weak_pointer (G_OBJECT (image), (gpointer *) &(stream->user_data));
92
93 g_signal_emit (G_OBJECT (image_factory), image_factory_signals [REQUEST_IMAGE], 0, uri, stream);
diff --git a/openembedded/packages/gtkhtml2/files/fix-style-change.patch b/openembedded/packages/gtkhtml2/files/fix-style-change.patch
new file mode 100644
index 0000000000..865f2692a8
--- /dev/null
+++ b/openembedded/packages/gtkhtml2/files/fix-style-change.patch
@@ -0,0 +1,29 @@
1Index: libgtkhtml/view/htmlview.c
2===================================================================
3--- libgtkhtml/view/htmlview.c.orig 2006-02-11 04:45:41.000000000 +0000
4+++ libgtkhtml/view/htmlview.c 2006-02-11 04:45:42.000000000 +0000
5@@ -2286,9 +2286,7 @@ html_view_realize (GtkWidget *widget)
6 * GtkLayout uses the bg color for background but we want
7 * to use base color.
8 */
9- widget->style = gtk_style_copy (widget->style);
10- widget->style->bg[GTK_STATE_NORMAL] =
11- widget->style->base[GTK_STATE_NORMAL];
12+ gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &widget->style->base[GTK_STATE_NORMAL]);
13 /*
14 * Store the font size so we can adjust size of HtmlFontSpecification
15 * if the size changes.
16@@ -3189,9 +3187,10 @@ html_view_style_set (GtkWidget *widget,
17 "focus-line-width", &focus_width,
18 NULL);
19
20-
21- widget->style->bg[GTK_STATE_NORMAL] =
22- widget->style->base[GTK_STATE_NORMAL];
23+ if (!gdk_color_equal (&widget->style->bg[GTK_STATE_NORMAL], &widget->style->base[GTK_STATE_NORMAL])) {
24+ gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &widget->style->base[GTK_STATE_NORMAL]);
25+ return;
26+ }
27 fsize = pango_font_description_get_size (widget->style->font_desc) / (gfloat) PANGO_SCALE;
28 new_isize = (gint) fsize;
29 old_isize = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget), "html-view-font-size"));
diff --git a/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb b/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb
index 5771567804..6d4c10b86a 100755
--- a/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb
+++ b/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb
@@ -4,13 +4,17 @@ DESCRIPTION = "A GTK+ HTML rendering library."
4LICENSE = "GPL" 4LICENSE = "GPL"
5MAINTAINER = "Chris Lord <chris@openedhand.com>" 5MAINTAINER = "Chris Lord <chris@openedhand.com>"
6PV = "2.11.0+cvs${SRCDATE}" 6PV = "2.11.0+cvs${SRCDATE}"
7PR = "r1"
7 8
8SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=gtkhtml2 \ 9SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=gtkhtml2 \
9 file://at-import_box-pos.patch;patch=1;pnum=0 \ 10 file://at-import_box-pos.patch;patch=1;pnum=0 \
10 file://css-stylesheet-user.patch;patch=1;pnum=0 \ 11 file://css-stylesheet-user.patch;patch=1;pnum=0 \
11 file://css-media.patch;patch=1;pnum=0 \ 12 file://css-media.patch;patch=1;pnum=0 \
12 file://fix-infinite-loop.patch;patch=1;pnum=0 \ 13 file://fix-infinite-loop.patch;patch=1;pnum=0 \
13 file://fix-margin-inherit.patch;patch=1;pnum=0" 14 file://fix-margin-inherit.patch;patch=1;pnum=0 \
15 file://fix-recreation2.patch;patch=1;pnum=0 \
16 file://fix-style-change.patch;patch=1;pnum=0 \
17 file://add-end-element-signal.patch;patch=1;pnum=0"
14 18
15S = "${WORKDIR}/${PN}" 19S = "${WORKDIR}/${PN}"
16 20
diff --git a/openembedded/packages/meta/task-oh.bb b/openembedded/packages/meta/task-oh.bb
index 4a302c82a1..a957507936 100644
--- a/openembedded/packages/meta/task-oh.bb
+++ b/openembedded/packages/meta/task-oh.bb
@@ -1,7 +1,7 @@
1PACKAGES = "task-oh-base-depends task-oh-base" 1PACKAGES = "task-oh-base-depends task-oh-base"
2DESCRIPTION = "Tasks for OpenedHand Poky" 2DESCRIPTION = "Tasks for OpenedHand Poky"
3MAINTAINER = "Richard Purdie <richard@openedhand.com>" 3MAINTAINER = "Richard Purdie <richard@openedhand.com>"
4PR = "r20" 4PR = "r21"
5 5
6ALLOW_EMPTY = "1" 6ALLOW_EMPTY = "1"
7 7
@@ -32,6 +32,9 @@ RDEPENDS_task-oh-base := "\
32 eds-dbus \ 32 eds-dbus \
33 contacts \ 33 contacts \
34 dates \ 34 dates \
35 web \
36 libcurl \
37 js \
35 leafpad \ 38 leafpad \
36 puzzles \ 39 puzzles \
37 kf \ 40 kf \
@@ -46,8 +49,12 @@ RDEPENDS_task-oh-base := "\
46 xauth \ 49 xauth \
47 avahi-daemon \ 50 avahi-daemon \
48 gdk-pixbuf-loader-png \ 51 gdk-pixbuf-loader-png \
52 gdk-pixbuf-loader-gif \
49 gdk-pixbuf-loader-xpm \ 53 gdk-pixbuf-loader-xpm \
50 gdk-pixbuf-loader-jpeg \ 54 gdk-pixbuf-loader-jpeg \
55 gnome-vfs-plugin-dbus \
56 gnome-vfs-plugin-file \
57 gnome-vfs-plugin-http \
51 gtk-theme-clearlooks \ 58 gtk-theme-clearlooks \
52 kernel-module-oprofile \ 59 kernel-module-oprofile \
53 tslib-calibrate \ 60 tslib-calibrate \
diff --git a/openembedded/packages/web/web_snap20060207.bb b/openembedded/packages/web/web_snap20060213.bb
index 7386ad1ca4..21376559bf 100755
--- a/openembedded/packages/web/web_snap20060207.bb
+++ b/openembedded/packages/web/web_snap20060213.bb
@@ -1,7 +1,6 @@
1LICENSE = "GPL" 1LICENSE = "GPL"
2SECTION = "x11" 2SECTION = "x11"
3DEPENDS = "glib-2.0 gtk+ libglade gtkhtml2 curl gconf js" 3DEPENDS = "glib-2.0 gtk+ libglade gtkhtml2 curl gconf js"
4RDEPENDS = "libcurl js"
5MAINTAINER = "Chris Lord <chris@openedhand.com>" 4MAINTAINER = "Chris Lord <chris@openedhand.com>"
6DESCRIPTION = "Web is a multi-platform web browsing application." 5DESCRIPTION = "Web is a multi-platform web browsing application."
7 6