STR #1854: fixed win32 issue with possible NULL pointer

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2008-01-10 21:53:34 +00:00
parent 17fec4d9a6
commit 923f9fe353
2 changed files with 36 additions and 45 deletions

View File

@ -1122,7 +1122,7 @@ void Fl_Window::resize(int X,int Y,int W,int H) {
redraw();
// only wait for exposure if this window has a size - a window
// with no width or height will never get an exposure event
if (W>0 && H>0)
if (i && W>0 && H>0)
i->wait_for_expose = 1;
}
} else {

View File

@ -1,48 +1,39 @@
//
// "$Id$"
//
// Hello, World! program for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2005 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Library General Public License for more details.
//
// You should have received a copy of the GNU Library General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA.
//
// Please report all bugs and problems on the following page:
//
// http://www.fltk.org/str.php
//
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/filename.H>
#include <FL/Fl_Double_Window.H>
#include <iostream>
int main(int argc, char **argv) {
char b[1024];
fl_filename_relative(b, 1024, "/Users/matt/proj/source");
Fl_Window *window = new Fl_Window(300,180);
Fl_Box *box = new Fl_Box(FL_UP_BOX,20,40,260,100,"Hello, World!");
box->labelfont(FL_BOLD+FL_ITALIC);
box->labelsize(36);
box->labeltype(FL_SHADOW_LABEL);
window->end();
window->show(argc, argv);
//typedef Fl_Window Window;
typedef Fl_Double_Window Window;
class Win : public Window {
public:
Win(int w, int h, char const* label = 0)
: Window(w, h, label) {;}
int handle(int event)
{
int r = Window::handle(event);
switch(event) {
case FL_PUSH: std::cout << "PUSH\n"; break;
case FL_RELEASE: std::cout << "RELEASE\n"; break;
case FL_KEYDOWN:
if(Fl::event_key() == FL_Escape) {
Fl::release(); hide();
}
break;
}
return r;
}
};
int main()
{
Fl_Double_Window first(300, 300, "First Window");
first.end();
Win second(200, 200, "Second Window");
second.end();
first.show();
second.show();
Fl::grab(&second);
return Fl::run();
}
//
// End of "$Id$".
//