Merge lp:~ken-vandine/gwibber/markup_escaping into lp:gwibber

Proposed by Ken VanDine
Status: Merged
Merged at revision: 1231
Proposed branch: lp:~ken-vandine/gwibber/markup_escaping
Merge into: lp:gwibber
Diff against target: 64 lines (+14/-4)
3 files modified
client/tab-bar-widgets.vala (+0/-4)
libgwibber-gtk/stream-view-tile.vala (+4/-0)
libgwibber/streams.vala (+10/-0)
To merge this branch: bzr merge lp:~ken-vandine/gwibber/markup_escaping
Reviewer Review Type Date Requested Status
Michael Terry (community) Approve
Review via email: mp+85039@code.launchpad.net

Description of the change

Escape markup in strings that need to be used in a label, this fixes some content that wasn't getting displayed in tiles. Most noticable are comments or link descriptions that contain an "&" wasn't getting displayed at all, set_markup was failing.

To post a comment you must log in.
Revision history for this message
Michael Terry (mterry) wrote :

Looks fine.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'client/tab-bar-widgets.vala'
2--- client/tab-bar-widgets.vala 2011-10-25 16:20:32 +0000
3+++ client/tab-bar-widgets.vala 2011-12-08 22:15:33 +0000
4@@ -109,8 +109,6 @@
5 _label = new Gtk.Label (text);
6 _label.set_alignment (0.5f, 0.5f);
7 add (_label);
8-
9- set ("draw-indicator", false);
10 }
11
12 public override bool draw (Cairo.Context cr)
13@@ -153,8 +151,6 @@
14 _label = new Gtk.Label (text);
15 _label.set_alignment (0.5f, 0.5f);
16 add (_label);
17-
18- set ("draw-indicator", false);
19 }
20
21 public override bool draw (Cairo.Context cr)
22
23=== modified file 'libgwibber-gtk/stream-view-tile.vala'
24--- libgwibber-gtk/stream-view-tile.vala 2011-12-06 19:58:21 +0000
25+++ libgwibber-gtk/stream-view-tile.vala 2011-12-08 22:15:33 +0000
26@@ -485,6 +485,8 @@
27 if (obj.has_member ("text"))
28 {
29 var ctext = obj.get_string_member ("text");
30+ if (ctext != null)
31+ ctext = GLib.Markup.escape_text (ctext);
32 var ctext_label = new Gtk.Label ("");
33 ctext_label.set_selectable (true);
34 ctext_label.set_single_line_mode (false);
35@@ -502,6 +504,8 @@
36 if (_sender_obj.has_member ("name"))
37 {
38 var cname = _sender_obj.get_string_member ("name");
39+ if (cname != null)
40+ cname = GLib.Markup.escape_text (cname);
41 var cname_box = new Gtk.HBox (false, 2);
42 var cname_label = new Gtk.Label ("");
43 cname_label.set_markup ("<b><span font_size='small'>" + cname + "</span></b>");
44
45=== modified file 'libgwibber/streams.vala'
46--- libgwibber/streams.vala 2011-10-25 14:53:47 +0000
47+++ libgwibber/streams.vala 2011-12-08 22:15:33 +0000
48@@ -621,6 +621,16 @@
49 }
50 }
51
52+ /* escape markup in some strings, pango doesn't like it */
53+ if (_link_name != null)
54+ _link_name = GLib.Markup.escape_text (_link_name);
55+ if (_link_description != null)
56+ _link_description = GLib.Markup.escape_text (_link_description);
57+ if (_image_name != null)
58+ _image_name = GLib.Markup.escape_text (_image_name);
59+ if (_video_name != null)
60+ _video_name = GLib.Markup.escape_text (_video_name);
61+
62 /* FIXME: hacky scrubbing of the html, we should find a
63 better way */
64 _html = _html.replace("&query", "&amp;query");