Skip to content

Commit aa5ff9d

Browse files
authored
Merge pull request #1971 from ZanderBrown/zbrown/snapshot-leak
gtk: don't leak snapshots
2 parents 5664d6d + eebfc5b commit aa5ff9d

File tree

2 files changed

+28
-21
lines changed

2 files changed

+28
-21
lines changed

gtk4/Gir.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2080,20 +2080,21 @@ name = "Gtk.Snapshot"
20802080
status = "generate"
20812081
final_type = false
20822082
manual_traits = ["SnapshotExtManual"]
2083-
[[object.function]]
2084-
pattern = "free_to_(node|paintable)"
2085-
ignore = true # C convenience functions
20862083
[[object.function]]
20872084
name = "append_border"
20882085
manual = true
20892086
[[object.function]]
20902087
name = "push_debug"
20912088
manual = true # ignore format args
20922089
[[object.function]]
2090+
pattern = "free_to_node"
2091+
rename = "to_node"
2092+
[[object.function]]
2093+
pattern = "free_to_paintable"
2094+
rename = "to_paintable"
2095+
[[object.function]]
20932096
pattern = "to_(node|paintable)"
2094-
[[object.function.parameter]]
2095-
name = "snapshot"
2096-
move = true
2097+
ignore = true
20972098

20982099
[[object]]
20992100
name = "Gtk.SortListModel"

gtk4/src/auto/snapshot.rs

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,27 @@ pub trait SnapshotExt: IsA<Snapshot> + 'static {
295295
}
296296
}
297297

298+
#[doc(alias = "gtk_snapshot_free_to_node")]
299+
#[doc(alias = "free_to_node")]
300+
fn to_node(self) -> Option<gsk::RenderNode> {
301+
unsafe {
302+
from_glib_full(ffi::gtk_snapshot_free_to_node(
303+
self.upcast().into_glib_ptr(),
304+
))
305+
}
306+
}
307+
308+
#[doc(alias = "gtk_snapshot_free_to_paintable")]
309+
#[doc(alias = "free_to_paintable")]
310+
fn to_paintable(self, size: Option<&graphene::Size>) -> Option<gdk::Paintable> {
311+
unsafe {
312+
from_glib_full(ffi::gtk_snapshot_free_to_paintable(
313+
self.upcast().into_glib_ptr(),
314+
size.to_glib_none().0,
315+
))
316+
}
317+
}
318+
298319
#[cfg_attr(feature = "v4_16", deprecated = "Since 4.16")]
299320
#[allow(deprecated)]
300321
#[doc(alias = "gtk_snapshot_gl_shader_pop_texture")]
@@ -617,21 +638,6 @@ pub trait SnapshotExt: IsA<Snapshot> + 'static {
617638
}
618639
}
619640

620-
#[doc(alias = "gtk_snapshot_to_node")]
621-
fn to_node(self) -> Option<gsk::RenderNode> {
622-
unsafe { from_glib_full(ffi::gtk_snapshot_to_node(self.upcast().into_glib_ptr())) }
623-
}
624-
625-
#[doc(alias = "gtk_snapshot_to_paintable")]
626-
fn to_paintable(self, size: Option<&graphene::Size>) -> Option<gdk::Paintable> {
627-
unsafe {
628-
from_glib_full(ffi::gtk_snapshot_to_paintable(
629-
self.upcast().into_glib_ptr(),
630-
size.to_glib_none().0,
631-
))
632-
}
633-
}
634-
635641
#[doc(alias = "gtk_snapshot_transform")]
636642
fn transform(&self, transform: Option<&gsk::Transform>) {
637643
unsafe {

0 commit comments

Comments
 (0)