Skip to content

Commit 217ddcc

Browse files
ZanderBrownsdroege
authored andcommitted
gtk: don't leak snapshots
1 parent be586ca commit 217ddcc

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
@@ -300,6 +300,27 @@ pub trait SnapshotExt: IsA<Snapshot> + sealed::Sealed + 'static {
300300
}
301301
}
302302

303+
#[doc(alias = "gtk_snapshot_free_to_node")]
304+
#[doc(alias = "free_to_node")]
305+
fn to_node(self) -> Option<gsk::RenderNode> {
306+
unsafe {
307+
from_glib_full(ffi::gtk_snapshot_free_to_node(
308+
self.upcast().into_glib_ptr(),
309+
))
310+
}
311+
}
312+
313+
#[doc(alias = "gtk_snapshot_free_to_paintable")]
314+
#[doc(alias = "free_to_paintable")]
315+
fn to_paintable(self, size: Option<&graphene::Size>) -> Option<gdk::Paintable> {
316+
unsafe {
317+
from_glib_full(ffi::gtk_snapshot_free_to_paintable(
318+
self.upcast().into_glib_ptr(),
319+
size.to_glib_none().0,
320+
))
321+
}
322+
}
323+
303324
#[cfg_attr(feature = "v4_16", deprecated = "Since 4.16")]
304325
#[allow(deprecated)]
305326
#[doc(alias = "gtk_snapshot_gl_shader_pop_texture")]
@@ -622,21 +643,6 @@ pub trait SnapshotExt: IsA<Snapshot> + sealed::Sealed + 'static {
622643
}
623644
}
624645

625-
#[doc(alias = "gtk_snapshot_to_node")]
626-
fn to_node(self) -> Option<gsk::RenderNode> {
627-
unsafe { from_glib_full(ffi::gtk_snapshot_to_node(self.upcast().into_glib_ptr())) }
628-
}
629-
630-
#[doc(alias = "gtk_snapshot_to_paintable")]
631-
fn to_paintable(self, size: Option<&graphene::Size>) -> Option<gdk::Paintable> {
632-
unsafe {
633-
from_glib_full(ffi::gtk_snapshot_to_paintable(
634-
self.upcast().into_glib_ptr(),
635-
size.to_glib_none().0,
636-
))
637-
}
638-
}
639-
640646
#[doc(alias = "gtk_snapshot_transform")]
641647
fn transform(&self, transform: Option<&gsk::Transform>) {
642648
unsafe {

0 commit comments

Comments
 (0)