Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gnome-class
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ian P. Cooke
gnome-class
Commits
63e92e6e
Commit
63e92e6e
authored
Nov 22, 2018
by
Jordan Petridis
🌱
Committed by
Federico Mena Quintero
Dec 03, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
instance_ext.rs: Use ObjectExt::connect() instead of the unsafe bindings
Close #42
parent
c98318d2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
10 deletions
+4
-10
src/gen/instance_ext.rs
src/gen/instance_ext.rs
+4
-10
No files found.
src/gen/instance_ext.rs
View file @
63e92e6e
...
...
@@ -88,7 +88,6 @@ pub fn slot_trait_impls<'ast>(names: &Names, slots: &[Slot<'ast>]) -> Vec<TokenS
Slot
::
Signal
(
ref
signal
)
=>
{
let
connect_signalname
=
signals
::
connect_signalname
(
signal
);
let
signalname_trampoline
=
signals
::
signal_trampoline_name
(
signal
);
let
sig
=
&
signal
.sig
;
let
signalname_str
=
signals
::
canonicalize_signal_name
(
&
sig
.name
.to_string
())
.expect
(
"rust identifiers should always be canonicalizable"
);
...
...
@@ -99,15 +98,10 @@ pub fn slot_trait_impls<'ast>(names: &Names, slots: &[Slot<'ast>]) -> Vec<TokenS
fn
#
connect_signalname
<
F
:
Fn
(
&
Self
,
#
input_types
)
#
output
+
'static
>
(
&
self
,
f
:
F
)
->
glib
::
SignalHandlerId
{
unsafe
{
let
f
:
Box
<
Box
<
Fn
(
&
Self
,
#
input_types
)
#
output
+
'static
>>
=
Box
::
new
(
Box
::
new
(
f
));
glib
::
signal
::
connect
(
self
.to_glib_none
()
.0
,
#
signalname_str
,
mem
::
transmute
(
#
signalname_trampoline
::
<
Self
>
as
usize
),
Box
::
into_raw
(
f
)
as
*
mut
_
)
}
glib
::
ObjectExt
::
connect
(
self
.to_glib_none
()
.0
,
#
signalname_str
,
false
,
f
)
.unwrap
()
}
})
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment