mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-21 16:46:18 +00:00
* Add includes of headers for select.
* Make initialization and cleanup of display::Canvast safer. git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@533 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -38,6 +38,8 @@
|
|||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <torrent/poll_epoll.h>
|
#include <torrent/poll_epoll.h>
|
||||||
#include <torrent/torrent.h>
|
#include <torrent/torrent.h>
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,8 @@
|
|||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <torrent/poll_select.h>
|
#include <torrent/poll_select.h>
|
||||||
#include <torrent/torrent.h>
|
#include <torrent/torrent.h>
|
||||||
|
|
||||||
|
|||||||
+13
-1
@@ -40,6 +40,8 @@
|
|||||||
|
|
||||||
namespace display {
|
namespace display {
|
||||||
|
|
||||||
|
bool Canvas::m_isInitialized = false;
|
||||||
|
|
||||||
void
|
void
|
||||||
Canvas::resize(int x, int y, int w, int h) {
|
Canvas::resize(int x, int y, int w, int h) {
|
||||||
wresize(m_window, h, w);
|
wresize(m_window, h, w);
|
||||||
@@ -47,7 +49,12 @@ Canvas::resize(int x, int y, int w, int h) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Canvas::init() {
|
Canvas::initialize() {
|
||||||
|
if (m_isInitialized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_isInitialized = true;
|
||||||
|
|
||||||
initscr();
|
initscr();
|
||||||
raw();
|
raw();
|
||||||
noecho();
|
noecho();
|
||||||
@@ -58,6 +65,11 @@ Canvas::init() {
|
|||||||
|
|
||||||
void
|
void
|
||||||
Canvas::cleanup() {
|
Canvas::cleanup() {
|
||||||
|
if (!m_isInitialized)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_isInitialized = false;
|
||||||
|
|
||||||
noraw();
|
noraw();
|
||||||
endwin();
|
endwin();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public:
|
|||||||
void set_attr(int x, int y, int n, int attr, int color) { mvwchgat(m_window, y, x, n, attr, color, NULL); }
|
void set_attr(int x, int y, int n, int attr, int color) { mvwchgat(m_window, y, x, n, attr, color, NULL); }
|
||||||
|
|
||||||
// Initialize stdscr.
|
// Initialize stdscr.
|
||||||
static void init();
|
static void initialize();
|
||||||
static void cleanup();
|
static void cleanup();
|
||||||
|
|
||||||
static int get_screen_width() { int x, y; getmaxyx(stdscr, y, x); return x; }
|
static int get_screen_width() { int x, y; getmaxyx(stdscr, y, x); return x; }
|
||||||
@@ -118,6 +118,8 @@ private:
|
|||||||
Canvas(const Canvas&);
|
Canvas(const Canvas&);
|
||||||
void operator = (const Canvas&);
|
void operator = (const Canvas&);
|
||||||
|
|
||||||
|
static bool m_isInitialized;
|
||||||
|
|
||||||
WINDOW* m_window;
|
WINDOW* m_window;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -58,7 +58,7 @@ Control::~Control() {
|
|||||||
|
|
||||||
void
|
void
|
||||||
Control::initialize() {
|
Control::initialize() {
|
||||||
display::Canvas::init();
|
display::Canvas::initialize();
|
||||||
display::Window::slot_adjust(sigc::mem_fun(m_display, &display::Manager::adjust_layout));
|
display::Window::slot_adjust(sigc::mem_fun(m_display, &display::Manager::adjust_layout));
|
||||||
|
|
||||||
m_core.get_poll_manager()->signal_interrupted().connect(sigc::mem_fun(*m_inputStdin, &input::InputEvent::event_read));
|
m_core.get_poll_manager()->signal_interrupted().connect(sigc::mem_fun(*m_inputStdin, &input::InputEvent::event_read));
|
||||||
|
|||||||
Reference in New Issue
Block a user