padOsd: Use non-deprecated librsvg API to create handle
On one hand, we were using a path instead of an URI on rsvg_handle_set_base_uri(). This broke at some point in librsvg (presumably for the best, handling paths there sounds non-standard) leaving a blank svg (As the base image wouldn't be accessed). On the other hand, we use this with the deprecated rsvg_handle_write() which we should drift away from. Using rsvg_handle_new_from_stream_sync() neatly solves both. We use newer API based on input streams and GFiles, and it internally does the right thing, bringing the pad OSD back to life. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1220
This commit is contained in:
parent
59559d5fc2
commit
2d0e84469e
@ -374,12 +374,12 @@ var PadDiagram = GObject.registerClass({
|
|||||||
svgData += this._cssString();
|
svgData += this._cssString();
|
||||||
svgData += this._wrappingSvgFooter();
|
svgData += this._wrappingSvgFooter();
|
||||||
|
|
||||||
let handle = new Rsvg.Handle();
|
let istream = new Gio.MemoryInputStream();
|
||||||
handle.set_base_uri(GLib.path_get_dirname(this._imagePath));
|
istream.add_bytes(new GLib.Bytes(svgData));
|
||||||
handle.write(svgData);
|
|
||||||
handle.close();
|
|
||||||
|
|
||||||
return handle;
|
return Rsvg.Handle.new_from_stream_sync(istream,
|
||||||
|
Gio.File.new_for_path(this._imagePath),
|
||||||
|
0, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateDiagramScale() {
|
_updateDiagramScale() {
|
||||||
|
Loading…
Reference in New Issue
Block a user