Skip to content

Commit

Permalink
Fixed segfaults on Manjaro
Browse files Browse the repository at this point in the history
On Manjaro Linux, shutter would segfault whenever it would receive
a message from another running instance of itself. This was caused
by the fact that dbus did not handle correctly messages with empty
text. This patch adds an extra check to prevent that.
  • Loading branch information
dniku committed Dec 13, 2016
1 parent 30caa2f commit 380c313
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions bin/shutter
Original file line number Diff line number Diff line change
Expand Up @@ -442,12 +442,14 @@ else {
#set export filename
}
elsif ( $cmd eq 'exfilename' ) {
$sc->set_export_filename( $message->get_text );
my $arg = defined $message->get ? $message->get_text : "";
$sc->set_export_filename( $arg );

#set delay
}
elsif ( $cmd eq 'delay' ) {
$sc->set_delay( $message->get_text );
my $arg = defined $message->get ? $message->get_text : "";
$sc->set_delay( $arg );

#set include_cursor flag
}
Expand All @@ -464,12 +466,13 @@ else {
#set nosession flag
}
elsif ( $cmd eq 'nosession' ) {
$sc->set_no_session( $message->get_text );
my $arg = defined $message->get ? $message->get_text : "";
$sc->set_no_session( $arg );

#open new files
}
elsif ( $cmd eq 'fopen' ) {
my @init_files = $message->get_uris;
my @init_files = defined $message->get ? $message->get_uris : ();
if ( scalar @init_files > 0 ) {
&fct_open_files(@init_files);
}
Expand All @@ -483,7 +486,8 @@ else {
#take screenshot
}
else {
&evt_take_screenshot( 'global_keybinding', $cmd, undef, $message->get_text );
my $arg = defined $message->get ? $message->get_text : "";
&evt_take_screenshot( 'global_keybinding', $cmd, undef, $arg );
}
}

Expand Down

0 comments on commit 380c313

Please sign in to comment.