STR 2580: Fl::add_fd() now calls fl_open_display() because that is necessary for the fd event

to be recovered by the event loop. Before main() is called, only fl_mac_os_version is 
initialized.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2011-03-01 11:58:36 +00:00
parent 1a4fd8ecc3
commit f7d7eff7ad
5 changed files with 10 additions and 10 deletions

View File

@ -517,11 +517,7 @@ public:
static const char *class_id;
const char *class_name() {return class_id;};
/** \brief A constructor that sets the graphics driver used by the display */
Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device( graphics_driver) {
#ifdef __APPLE__
fl_open_display();
#endif
};
Fl_Display_Device(Fl_Graphics_Driver *graphics_driver);
/** Returns the platform display device. */
static inline Fl_Display_Device *display_device() {return _display;};
};

View File

@ -72,6 +72,14 @@ void Fl_Graphics_Driver::text_extents(const char*t, int n, int& dx, int& dy, int
dy = descent();
}
Fl_Display_Device::Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device( graphics_driver) {
#ifdef __APPLE__
SInt32 version;
Gestalt(gestaltSystemVersion, &version);
fl_mac_os_version = (int)version;
#endif
};
//
// End of "$Id$".

View File

@ -293,6 +293,7 @@ static DataReady dataready;
void DataReady::AddFD(int n, int events, void (*cb)(int, void*), void *v)
{
fl_open_display(); // necessary for NSApp to be defined
RemoveFD(n, events);
int i = nfds++;
if (i >= fd_array_size)
@ -1289,9 +1290,6 @@ void fl_open_display() {
while (ign_event);
fl_default_cursor = [NSCursor arrowCursor];
SInt32 version;
Gestalt(gestaltSystemVersion, &version);
fl_mac_os_version = (int)version;
// bring the application into foreground without a 'CARB' resource
Boolean same_psn;

View File

@ -46,7 +46,6 @@ Fl_Font_Descriptor::Fl_Font_Descriptor(const char* name, Fl_Fontsize Size) {
q_name = strdup(name);
size = Size;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
if (fl_mac_os_version == 0) fl_open_display();
if (fl_mac_os_version >= 0x1050) {//unfortunately, CTFontCreateWithName != NULL on 10.4 also!
CFStringRef str = CFStringCreateWithCString(NULL, name, kCFStringEncodingUTF8);
fontref = CTFontCreateWithName(str, size, NULL);

View File

@ -70,7 +70,6 @@ Fl_Font Fl::set_fonts(const char* xstarname) {
if (fl_free_font > FL_FREE_FONT) return (Fl_Font)fl_free_font; // if already called
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
if(fl_mac_os_version == 0) fl_open_display();
if(fl_mac_os_version >= 0x1050) {
//if(CTFontCreateWithFontDescriptor != NULL) {// CTFontCreateWithFontDescriptor != NULL on 10.4 also!
int value[1] = {1};