[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] [bug #46949] fb-gnash left console in unusable state afte
From: |
Nutchanon Wetchasit |
Subject: |
[Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting |
Date: |
Sat, 23 Jan 2016 11:12:42 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:25.5) Gecko/20150606 Firefox/31.9 PaleMoon/25.5.0 |
Follow-up Comment #4, bug #46949 (project gnash):
After testing around, I found three problems in fb-gnash's code which prevent
framebuffer from properly returning to text mode:
1. fb-gnash's self termination (due to `fb-gnash --once` or
`fscommand("quit")`) does not trigger a proper cleanup, as `Gui::quitUI()`
is not overridde; it simply call `std::exit()` straight away
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/gui.h?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n465>,
so console is left
in unusable state as the cleanup code is not run.
On the other hand, if Gnash is terminating by signal (SIGINT or SIGTERM
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n169>),
it will try to trigger exit cleanup
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n149>;
though this does not successfully
return console to usable state, due to...
2. FBGui's destructor calls wrong function
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n178>,
the right one should be
`FBGui::enable_terminal()` which restores console to text mode. And...
3. fb-gnash's `FBGui::_fd` integer which is used for deciding
whether to enter console cleanup
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n177>,
is not properly initialized. According to current
`FBGui::disable_terminal()`
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n555>
and `FBGui::enable_terminal()`
<http://git.savannah.gnu.org/cgit/gnash.git/tree/gui/fb/fb.cpp?id=62cfdfe81d6d9a17c722558dc6046b6596342e98#n687>
code, it doesn't
seems to be used anymore. Both function just open current TTY, set video
mode,
and closed it, without really doing anything meaningful with class's
`_fd` variable.
Gnash: 0.8.11dev (git 62cfdfe 16-Jan-2016)
Framebuffer: inteldrmfb `/dev/fb0` 1366x768 32-bit RGBA
System: Debian GNU/Linux 7.0 Wheezy i386
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?46949>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/22
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/22
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/22
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/22
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/22
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/23
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting,
Nutchanon Wetchasit <=
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/23
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Sandro Santilli, 2016/01/29
- [Gnash-commit] [bug #46949] fb-gnash left console in unusable state after exiting, Nutchanon Wetchasit, 2016/01/31