Skip to content
Snippets Groups Projects
Commit 284207b1 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Only restore terminal settings if stdin still belongs to us (closes #324)

parent b7d6976e
No related branches found
No related tags found
No related merge requests found
......@@ -234,7 +234,15 @@ void feh_clean_exit(void)
if(disp)
XCloseDisplay(disp);
if (control_via_stdin && isatty(STDIN_FILENO))
/*
* Only restore the old terminal settings if
* - we changed them in the first place
* - stdin still is a terminal (it might have been closed)
* - stdin still belongs to us (we might have been detached from the
* controlling terminal, in that case we probably shouldn't be messing
* around with it) <https://github.com/derf/feh/issues/324>
*/
if (control_via_stdin && isatty(STDIN_FILENO) && getpgrp() == (tcgetpgrp(STDIN_FILENO)))
if (tcsetattr(STDIN_FILENO, TCSANOW, &old_term_settings) == -1)
eprintf("tcsetattr failed");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment