- added more NULL pointer checking to see if it helps deal with a potential timing issue during game shutdown (deleting cells issue)
This commit is contained in:
parent
eda2e84aee
commit
087c6c87b1
|
@ -54,8 +54,7 @@ MainWindow::MainWindow()
|
|||
, enabledGroup(ctHeight)
|
||||
, fileModified(false)
|
||||
, menuBar(NULL)
|
||||
, panel(NULL)
|
||||
, timer(NULL) {
|
||||
, panel(NULL) {
|
||||
|
||||
this->panel = new wxPanel(this, wxID_ANY);
|
||||
|
||||
|
@ -305,10 +304,6 @@ MainWindow::MainWindow()
|
|||
|
||||
lastPaintEvent.start();
|
||||
|
||||
//#ifndef WIN32
|
||||
//timer = new wxTimer(this);
|
||||
//timer->Start(250);
|
||||
//#endif
|
||||
glCanvas->SetFocus();
|
||||
}
|
||||
|
||||
|
@ -333,18 +328,10 @@ void MainWindow::init(string fname) {
|
|||
}
|
||||
|
||||
void MainWindow::onClose(wxCloseEvent &event) {
|
||||
if(timer != NULL) timer->Stop();
|
||||
if(timer != NULL) delete timer;
|
||||
timer = NULL;
|
||||
|
||||
delete this;
|
||||
}
|
||||
|
||||
MainWindow::~MainWindow() {
|
||||
if(timer != NULL) timer->Stop();
|
||||
if(timer != NULL) delete timer;
|
||||
timer = NULL;
|
||||
|
||||
delete glCanvas;
|
||||
delete program;
|
||||
}
|
||||
|
@ -378,14 +365,6 @@ void MainWindow::setExtension() {
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::onTimer(wxTimerEvent &event) {
|
||||
wxPaintEvent paintEvent;
|
||||
onPaint(paintEvent);
|
||||
#ifdef WIN32
|
||||
//Update();
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::onMouseDown(wxMouseEvent &event, int x, int y) {
|
||||
if (event.LeftIsDown()) {
|
||||
program->setUndoPoint(enabledGroup);
|
||||
|
@ -433,8 +412,8 @@ void MainWindow::onMouseMove(wxMouseEvent &event, int x, int y) {
|
|||
}
|
||||
|
||||
void MainWindow::onPaint(wxPaintEvent &event) {
|
||||
if(lastPaintEvent.getMillis() < 100) {
|
||||
sleep(5);
|
||||
if(lastPaintEvent.getMillis() < 70) {
|
||||
sleep(1);
|
||||
return;
|
||||
}
|
||||
lastPaintEvent.start();
|
||||
|
@ -870,8 +849,6 @@ void MainWindow::uncheckRadius() {
|
|||
|
||||
BEGIN_EVENT_TABLE(MainWindow, wxFrame)
|
||||
|
||||
EVT_TIMER(-1, MainWindow::onTimer)
|
||||
|
||||
EVT_CLOSE(MainWindow::onClose)
|
||||
|
||||
// these are 'handled' by GlCanvas and funneled to these handlers
|
||||
|
|
|
@ -135,8 +135,6 @@ private:
|
|||
|
||||
wxPanel *panel;
|
||||
|
||||
wxTimer *timer;
|
||||
|
||||
wxMenuBar *menuBar;
|
||||
wxMenu *menuFile;
|
||||
wxMenu *menuEdit;
|
||||
|
@ -215,8 +213,6 @@ public:
|
|||
|
||||
void onToolPlayer(wxCommandEvent &event);
|
||||
|
||||
void onTimer(wxTimerEvent &event);
|
||||
|
||||
void change(int x, int y);
|
||||
|
||||
void uncheckBrush();
|
||||
|
|
|
@ -479,7 +479,7 @@ void Window::handleMouseDown(SDL_Event event) {
|
|||
int n = (int) button;
|
||||
|
||||
assert(n >= 0 && n < mbCount);
|
||||
|
||||
if(n >= 0 && n < mbCount) {
|
||||
if(ticks - lastMouseDown[n] < DOUBLECLICKTIME
|
||||
&& abs(lastMouseX[n] - event.button.x) < DOUBLECLICKDELTA
|
||||
&& abs(lastMouseY[n] - event.button.y) < DOUBLECLICKDELTA) {
|
||||
|
@ -493,6 +493,7 @@ void Window::handleMouseDown(SDL_Event event) {
|
|||
lastMouseX[n] = event.button.x;
|
||||
lastMouseY[n] = event.button.y;
|
||||
}
|
||||
}
|
||||
|
||||
MouseButton Window::getMouseButton(int sdlButton) {
|
||||
switch(sdlButton) {
|
||||
|
|
Loading…
Reference in New Issue