From 7903799bf2ece8f5fdb760c507c1e64ce8418b97 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Thu, 3 Apr 2003 04:28:15 +0000 Subject: [PATCH] - sorted fluid menu bar - fixed some minor Valgrind memory checker complaints - added conditional compile flag for OS X w/ MetroWerks compiler git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2967 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 4 ++ README | 2 +- fluid/function_panel.cxx | 122 ++++++++++++++++++------------------- fluid/function_panel.fl | 126 +++++++++++++++++++-------------------- fluid/function_panel.h | 2 +- src/Fl_get_key.cxx | 5 +- src/Fl_x.cxx | 72 +++++++++++----------- src/fl_cursor.cxx | 6 +- src/flstring.h | 6 +- 9 files changed, 176 insertions(+), 169 deletions(-) diff --git a/CHANGES b/CHANGES index 422f96add..b2bba2241 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,9 @@ CHANGES IN FLTK 1.1.4 + - Sorted the icon menu bar in fluid. + - Fixed minor memory access complaints from Valgrind + - Compiling src/flstring.h on OS X with BSD header + would fail. - Fl_Text_Editor didn't scroll the buffer when the user pressed Ctrl+End or Ctrl+Home. - Fl_Text_Editor didn't show its cursor when the mouse diff --git a/README b/README index 9e2ce7ebd..bbff3ad38 100644 --- a/README +++ b/README @@ -188,7 +188,7 @@ COPYRIGHT Gustavo Hime (hime@users.sourceforge.net) Talbot Hughes Robert Kesterson (robertk@users.sourceforge.net) - Matthias Melcher (matthias@users.sourceforge.net) + Matthias Melcher (matthiaswm@users.sourceforge.net) James Dean Palmer (jamespalmer@users.sourceforge.net) Vincent Penne (vincentp@users.sourceforge.net) Michael Sweet (easysw@users.sourceforge.net) diff --git a/fluid/function_panel.cxx b/fluid/function_panel.cxx index ffdb78eac..f560da475 100644 --- a/fluid/function_panel.cxx +++ b/fluid/function_panel.cxx @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0103 +// generated by Fast Light User Interface Designer (fluid) version 1.0104 #include "function_panel.h" #include @@ -334,42 +334,42 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Window")); o->image(pixmap[1]); } - { Fl_Button* o = new Fl_Button(56, 28, 24, 24); - o->tooltip("Tabs"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tabs")); - o->image(pixmap[13]); - } - { Fl_Button* o = new Fl_Button(56, 52, 24, 24); - o->tooltip("Tile"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tile")); - o->image(pixmap[20]); - } { Fl_Button* o = new Fl_Button(80, 4, 24, 24); o->tooltip("Group"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Group")); o->image(pixmap[6]); } + { Fl_Button* o = new Fl_Button(104, 4, 24, 24); + o->tooltip("Pack"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Pack")); + o->image(pixmap[22]); + } + { Fl_Button* o = new Fl_Button(56, 28, 24, 24); + o->tooltip("Tabs"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tabs")); + o->image(pixmap[13]); + } { Fl_Button* o = new Fl_Button(80, 28, 24, 24); o->tooltip("Scroll"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scroll")); o->image(pixmap[19]); } + { Fl_Button* o = new Fl_Button(56, 52, 24, 24); + o->tooltip("Tile"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Tile")); + o->image(pixmap[20]); + } { Fl_Button* o = new Fl_Button(80, 52, 24, 24); o->tooltip("Wizard"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Wizard")); o->image(pixmap[21]); } - { Fl_Button* o = new Fl_Button(104, 4, 24, 24); - o->tooltip("Pack"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Pack")); - o->image(pixmap[22]); - } o->end(); } { Fl_Group* o = new Fl_Group(131, 3, 50, 74); @@ -426,6 +426,12 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Scrollbar")); o->image(pixmap[38]); } + { Fl_Button* o = new Fl_Button(232, 4, 24, 24); + o->tooltip("Value Slider"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Slider")); + o->image(pixmap[39]); + } { Fl_Button* o = new Fl_Button(184, 28, 24, 24); o->tooltip("Adjuster"); o->box(FL_THIN_UP_BOX); @@ -438,6 +444,12 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Counter")); o->image(pixmap[41]); } + { Fl_Button* o = new Fl_Button(232, 28, 24, 24); + o->tooltip("Dial"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Dial")); + o->image(pixmap[42]); + } { Fl_Button* o = new Fl_Button(184, 52, 24, 24); o->tooltip("Roller"); o->box(FL_THIN_UP_BOX); @@ -450,18 +462,6 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Input")); o->image(pixmap[44]); } - { Fl_Button* o = new Fl_Button(232, 4, 24, 24); - o->tooltip("Value Slider"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Value_Slider")); - o->image(pixmap[39]); - } - { Fl_Button* o = new Fl_Button(232, 28, 24, 24); - o->tooltip("Dial"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Dial")); - o->image(pixmap[42]); - } { Fl_Button* o = new Fl_Button(232, 52, 24, 24); o->tooltip("Value Output"); o->box(FL_THIN_UP_BOX); @@ -478,30 +478,30 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Input")); o->image(pixmap[14]); } - { Fl_Button* o = new Fl_Button(260, 28, 24, 24); - o->tooltip("Text Edit"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Editor")); - o->image(pixmap[29]); - } - { Fl_Button* o = new Fl_Button(260, 52, 24, 24); - o->tooltip("File Input"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Input")); - o->image(pixmap[30]); - } { Fl_Button* o = new Fl_Button(284, 4, 24, 24); o->tooltip("Output"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Output")); o->image(pixmap[27]); } + { Fl_Button* o = new Fl_Button(260, 28, 24, 24); + o->tooltip("Text Edit"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Editor")); + o->image(pixmap[29]); + } { Fl_Button* o = new Fl_Button(284, 28, 24, 24); o->tooltip("Text Display"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Text_Display")); o->image(pixmap[28]); } + { Fl_Button* o = new Fl_Button(260, 52, 24, 24); + o->tooltip("File Input"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_File_Input")); + o->image(pixmap[30]); + } o->end(); } { Fl_Group* o = new Fl_Group(311, 3, 50, 74); @@ -512,30 +512,30 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Bar")); o->image(pixmap[17]); } - { Fl_Button* o = new Fl_Button(312, 28, 24, 24); - o->tooltip("Menu Button"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Button")); - o->image(pixmap[26]); - } - { Fl_Button* o = new Fl_Button(312, 52, 24, 24); - o->tooltip("Choice"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Choice")); - o->image(pixmap[15]); - } { Fl_Button* o = new Fl_Button(336, 4, 24, 24); o->tooltip("Menu Item"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("menuitem")); o->image(pixmap[16]); } + { Fl_Button* o = new Fl_Button(312, 28, 24, 24); + o->tooltip("Menu Button"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Menu_Button")); + o->image(pixmap[26]); + } { Fl_Button* o = new Fl_Button(336, 28, 24, 24); o->tooltip("Sub Menu"); o->box(FL_THIN_UP_BOX); o->callback((Fl_Callback*)type_make_cb, (void*)("submenu")); o->image(pixmap[18]); } + { Fl_Button* o = new Fl_Button(312, 52, 24, 24); + o->tooltip("Choice"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Choice")); + o->image(pixmap[15]); + } o->end(); } { Fl_Group* o = new Fl_Group(363, 3, 26, 74); @@ -568,6 +568,12 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Box")); o->image(pixmap[5]); } + { Fl_Button* o = new Fl_Button(416, 4, 24, 24); + o->tooltip("Clock"); + o->box(FL_THIN_UP_BOX); + o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Clock")); + o->image(pixmap[34]); + } { Fl_Button* o = new Fl_Button(392, 28, 24, 24); o->tooltip("Help Browser"); o->box(FL_THIN_UP_BOX); @@ -580,12 +586,6 @@ Fl_Double_Window* make_widgetbin() { o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Progress")); o->image(pixmap[36]); } - { Fl_Button* o = new Fl_Button(416, 4, 24, 24); - o->tooltip("Clock"); - o->box(FL_THIN_UP_BOX); - o->callback((Fl_Callback*)type_make_cb, (void*)("Fl_Clock")); - o->image(pixmap[34]); - } o->end(); } o->size(o->w(),80); diff --git a/fluid/function_panel.fl b/fluid/function_panel.fl index 7ea45f9e0..97eb8b843 100644 --- a/fluid/function_panel.fl +++ b/fluid/function_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0103 +version 1.0104 header_name {.h} code_name {.cxx} decl {\#include } {} @@ -54,7 +54,7 @@ Function {make_code_panel()} {open Fl_Group {} {open xywh {10 10 525 120} box DOWN_FRAME resizable } { - Fl_Text_Editor code_input {selected + Fl_Text_Editor code_input { xywh {12 12 521 116} box NO_BOX resizable code0 {o->buffer(new Fl_Text_Buffer);} code1 {o->textfont(FL_COURIER);} @@ -242,42 +242,42 @@ Function {make_widgetbin()} {open tooltip Window xywh {56 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[1]);} } - Fl_Button {} { - user_data {"Fl_Tabs"} - callback type_make_cb - tooltip Tabs xywh {56 28 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[13]);} - } - Fl_Button {} { - user_data {"Fl_Tile"} - callback type_make_cb - tooltip Tile xywh {56 52 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[20]);} - } Fl_Button {} { user_data {"Fl_Group"} callback type_make_cb tooltip Group xywh {80 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[6]);} } + Fl_Button {} { + user_data {"Fl_Pack"} + callback type_make_cb + tooltip Pack xywh {104 4 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[22]);} + } + Fl_Button {} { + user_data {"Fl_Tabs"} + callback type_make_cb + tooltip Tabs xywh {56 28 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[13]);} + } Fl_Button {} { user_data {"Fl_Scroll"} callback type_make_cb tooltip Scroll xywh {80 28 24 24} box THIN_UP_BOX code0 {o->image(pixmap[19]);} } + Fl_Button {} { + user_data {"Fl_Tile"} + callback type_make_cb + tooltip Tile xywh {56 52 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[20]);} + } Fl_Button {} { user_data {"Fl_Wizard"} callback type_make_cb tooltip Wizard xywh {80 52 24 24} box THIN_UP_BOX code0 {o->image(pixmap[21]);} } - Fl_Button {} { - user_data {"Fl_Pack"} - callback type_make_cb - tooltip Pack xywh {104 4 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[22]);} - } } Fl_Group {} {open xywh {131 3 50 74} box THIN_DOWN_BOX @@ -334,6 +334,12 @@ Function {make_widgetbin()} {open tooltip {Scroll Bar} xywh {208 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[38]);} } + Fl_Button {} { + user_data {"Fl_Value_Slider"} + callback type_make_cb + tooltip {Value Slider} xywh {232 4 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[39]);} + } Fl_Button {} { user_data {"Fl_Adjuster"} callback type_make_cb @@ -346,6 +352,12 @@ Function {make_widgetbin()} {open tooltip Counter xywh {208 28 24 24} box THIN_UP_BOX code0 {o->image(pixmap[41]);} } + Fl_Button {} { + user_data {"Fl_Dial"} + callback type_make_cb + tooltip Dial xywh {232 28 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[42]);} + } Fl_Button {} { user_data {"Fl_Roller"} callback type_make_cb @@ -358,18 +370,6 @@ Function {make_widgetbin()} {open tooltip {Value Input} xywh {208 52 24 24} box THIN_UP_BOX code0 {o->image(pixmap[44]);} } - Fl_Button {} { - user_data {"Fl_Value_Slider"} - callback type_make_cb - tooltip {Value Slider} xywh {232 4 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[39]);} - } - Fl_Button {} { - user_data {"Fl_Dial"} - callback type_make_cb - tooltip Dial xywh {232 28 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[42]);} - } Fl_Button {} { user_data {"Fl_Value_Output"} callback type_make_cb @@ -386,30 +386,30 @@ Function {make_widgetbin()} {open tooltip Input xywh {260 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[14]);} } - Fl_Button {} { - user_data {"Fl_Text_Editor"} - callback type_make_cb - tooltip {Text Edit} xywh {260 28 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[29]);} - } - Fl_Button {} { - user_data {"Fl_File_Input"} - callback type_make_cb - tooltip {File Input} xywh {260 52 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[30]);} - } Fl_Button {} { user_data {"Fl_Output"} callback type_make_cb tooltip Output xywh {284 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[27]);} } + Fl_Button {} { + user_data {"Fl_Text_Editor"} + callback type_make_cb + tooltip {Text Edit} xywh {260 28 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[29]);} + } Fl_Button {} { user_data {"Fl_Text_Display"} callback type_make_cb tooltip {Text Display} xywh {284 28 24 24} box THIN_UP_BOX code0 {o->image(pixmap[28]);} } + Fl_Button {} { + user_data {"Fl_File_Input"} + callback type_make_cb + tooltip {File Input} xywh {260 52 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[30]);} + } } Fl_Group {} {open xywh {311 3 50 74} box THIN_DOWN_BOX @@ -420,30 +420,30 @@ Function {make_widgetbin()} {open tooltip {Menu Bar} xywh {312 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[17]);} } - Fl_Button {} { - user_data {"Fl_Menu_Button"} - callback type_make_cb - tooltip {Menu Button} xywh {312 28 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[26]);} - } - Fl_Button {} { - user_data {"Fl_Choice"} - callback type_make_cb - tooltip Choice xywh {312 52 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[15]);} - } Fl_Button {} { user_data {"menuitem"} callback type_make_cb tooltip {Menu Item} xywh {336 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[16]);} } + Fl_Button {} { + user_data {"Fl_Menu_Button"} + callback type_make_cb + tooltip {Menu Button} xywh {312 28 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[26]);} + } Fl_Button {} { user_data {"submenu"} callback type_make_cb tooltip {Sub Menu} xywh {336 28 24 24} box THIN_UP_BOX code0 {o->image(pixmap[18]);} } + Fl_Button {} { + user_data {"Fl_Choice"} + callback type_make_cb + tooltip Choice xywh {312 52 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[15]);} + } } Fl_Group {} {open xywh {363 3 26 74} box THIN_DOWN_BOX @@ -476,6 +476,12 @@ Function {make_widgetbin()} {open tooltip Box xywh {392 4 24 24} box THIN_UP_BOX code0 {o->image(pixmap[5]);} } + Fl_Button {} { + user_data {"Fl_Clock"} + callback type_make_cb + tooltip Clock xywh {416 4 24 24} box THIN_UP_BOX + code0 {o->image(pixmap[34]);} + } Fl_Button {} { user_data {"Fl_Help_View"} callback type_make_cb @@ -484,16 +490,10 @@ Function {make_widgetbin()} {open } Fl_Button {} { user_data {"Fl_Progress"} - callback type_make_cb + callback type_make_cb selected tooltip Progress xywh {392 52 24 24} box THIN_UP_BOX code0 {o->image(pixmap[36]);} } - Fl_Button {} { - user_data {"Fl_Clock"} - callback type_make_cb - tooltip Clock xywh {416 4 24 24} box THIN_UP_BOX - code0 {o->image(pixmap[34]);} - } } } } diff --git a/fluid/function_panel.h b/fluid/function_panel.h index 013b1a8d8..b7f312067 100644 --- a/fluid/function_panel.h +++ b/fluid/function_panel.h @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0103 +// generated by Fast Light User Interface Designer (fluid) version 1.0104 #ifndef function_panel_h #define function_panel_h diff --git a/src/Fl_get_key.cxx b/src/Fl_get_key.cxx index 3b64ce15a..62e0aa6ef 100644 --- a/src/Fl_get_key.cxx +++ b/src/Fl_get_key.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_get_key.cxx,v 1.5.2.3.2.4 2003/01/30 21:43:04 easysw Exp $" +// "$Id: Fl_get_key.cxx,v 1.5.2.3.2.5 2003/04/03 04:28:15 matthiaswm Exp $" // // Keyboard state routines for the Fast Light Tool Kit (FLTK). // @@ -50,6 +50,7 @@ int Fl::event_key(int k) { else # endif i = XKeysymToKeycode(fl_display, k); + if (i==0) return 0; return fl_key_vector[i/8] & (1 << (i%8)); } @@ -62,5 +63,5 @@ int Fl::get_key(int k) { #endif // -// End of "$Id: Fl_get_key.cxx,v 1.5.2.3.2.4 2003/01/30 21:43:04 easysw Exp $". +// End of "$Id: Fl_get_key.cxx,v 1.5.2.3.2.5 2003/04/03 04:28:15 matthiaswm Exp $". // diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index f74beab82..83b23e707 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_x.cxx,v 1.24.2.24.2.27 2003/03/09 02:00:06 spitzak Exp $" +// "$Id: Fl_x.cxx,v 1.24.2.24.2.28 2003/04/03 04:28:15 matthiaswm Exp $" // // X specific code for the Fast Light Tool Kit (FLTK). // @@ -1087,20 +1087,21 @@ void Fl_X::make_xid(Fl_Window* win, XVisualInfo *visual, Colormap colormap) XChangeProperty(fl_display, xp->xid, fl_XdndAware, XA_ATOM, sizeof(int)*8, 0, (unsigned char*)&version, 1); - XWMHints hints; - hints.input = True; - hints.flags = InputHint; + XWMHints *hints = XAllocWMHints(); + hints->input = True; + hints->flags = InputHint; if (fl_show_iconic) { - hints.flags |= StateHint; - hints.initial_state = IconicState; + hints->flags |= StateHint; + hints->initial_state = IconicState; fl_show_iconic = 0; showit = 0; } if (win->icon()) { - hints.icon_pixmap = (Pixmap)win->icon(); - hints.flags |= IconPixmapHint; + hints->icon_pixmap = (Pixmap)win->icon(); + hints->flags |= IconPixmapHint; } - XSetWMHints(fl_display, xp->xid, &hints); + XSetWMHints(fl_display, xp->xid, hints); + XFree(hints); } XMapWindow(fl_display, xp->xid); @@ -1129,51 +1130,51 @@ void Fl_X::sendxjunk() { return; // because this recursively called here } - XSizeHints hints; + XSizeHints *hints = XAllocSizeHints(); // memset(&hints, 0, sizeof(hints)); jreiser suggestion to fix purify? - hints.min_width = w->minw; - hints.min_height = w->minh; - hints.max_width = w->maxw; - hints.max_height = w->maxh; - hints.width_inc = w->dw; - hints.height_inc = w->dh; - hints.win_gravity = StaticGravity; + hints->min_width = w->minw; + hints->min_height = w->minh; + hints->max_width = w->maxw; + hints->max_height = w->maxh; + hints->width_inc = w->dw; + hints->height_inc = w->dh; + hints->win_gravity = StaticGravity; // see the file /usr/include/X11/Xm/MwmUtil.h: // fill all fields to avoid bugs in kwm and perhaps other window managers: // 0, MWM_FUNC_ALL, MWM_DECOR_ALL long prop[5] = {0, 1, 1, 0, 0}; - if (hints.min_width != hints.max_width || - hints.min_height != hints.max_height) { // resizable - hints.flags = PMinSize|PWinGravity; - if (hints.max_width >= hints.min_width || - hints.max_height >= hints.min_height) { - hints.flags = PMinSize|PMaxSize|PWinGravity; + if (hints->min_width != hints->max_width || + hints->min_height != hints->max_height) { // resizable + hints->flags = PMinSize|PWinGravity; + if (hints->max_width >= hints->min_width || + hints->max_height >= hints->min_height) { + hints->flags = PMinSize|PMaxSize|PWinGravity; // unfortunately we can't set just one maximum size. Guess a // value for the other one. Some window managers will make the // window fit on screen when maximized, others will put it off screen: - if (hints.max_width < hints.min_width) hints.max_width = Fl::w(); - if (hints.max_height < hints.min_height) hints.max_height = Fl::h(); + if (hints->max_width < hints->min_width) hints->max_width = Fl::w(); + if (hints->max_height < hints->min_height) hints->max_height = Fl::h(); } - if (hints.width_inc && hints.height_inc) hints.flags |= PResizeInc; + if (hints->width_inc && hints->height_inc) hints->flags |= PResizeInc; if (w->aspect) { // stupid X! It could insist that the corner go on the // straight line between min and max... - hints.min_aspect.x = hints.max_aspect.x = hints.min_width; - hints.min_aspect.y = hints.max_aspect.y = hints.min_height; - hints.flags |= PAspect; + hints->min_aspect.x = hints->max_aspect.x = hints->min_width; + hints->min_aspect.y = hints->max_aspect.y = hints->min_height; + hints->flags |= PAspect; } } else { // not resizable: - hints.flags = PMinSize|PMaxSize|PWinGravity; + hints->flags = PMinSize|PMaxSize|PWinGravity; prop[0] = 1; // MWM_HINTS_FUNCTIONS prop[1] = 1|2|16; // MWM_FUNC_ALL | MWM_FUNC_RESIZE | MWM_FUNC_MAXIMIZE } if (w->flags() & Fl_Window::FL_FORCE_POSITION) { - hints.flags |= USPosition; - hints.x = w->x(); - hints.y = w->y(); + hints->flags |= USPosition; + hints->x = w->x(); + hints->y = w->y(); } if (!w->border()) { @@ -1181,10 +1182,11 @@ void Fl_X::sendxjunk() { prop[2] = 0; // no decorations } - XSetWMNormalHints(fl_display, xid, &hints); + XSetWMNormalHints(fl_display, xid, hints); XChangeProperty(fl_display, xid, fl_MOTIF_WM_HINTS, fl_MOTIF_WM_HINTS, 32, 0, (unsigned char *)prop, 5); + XFree(hints); } void Fl_Window::size_range_() { @@ -1264,5 +1266,5 @@ void Fl_Window::make_current() { #endif // -// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.27 2003/03/09 02:00:06 spitzak Exp $". +// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.28 2003/04/03 04:28:15 matthiaswm Exp $". // diff --git a/src/fl_cursor.cxx b/src/fl_cursor.cxx index 329fbdf88..152df8ddc 100644 --- a/src/fl_cursor.cxx +++ b/src/fl_cursor.cxx @@ -1,5 +1,5 @@ // -// "$Id: fl_cursor.cxx,v 1.6.2.6.2.8 2003/01/30 21:43:30 easysw Exp $" +// "$Id: fl_cursor.cxx,v 1.6.2.6.2.9 2003/04/03 04:28:15 matthiaswm Exp $" // // Mouse cursor support for the Fast Light Tool Kit (FLTK). // @@ -279,7 +279,7 @@ void Fl_Window::cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) { if (c >= FL_CURSOR_NS) { TableEntry *q = (c > FL_CURSOR_NESW) ? table+4 : table+(c-FL_CURSOR_NS); if (!(q->cursor)) { - XColor dummy; + XColor dummy = { 0 }; Pixmap p = XCreateBitmapFromData(fl_display, RootWindow(fl_display, fl_screen), (const char*)(q->bits), CURSORSIZE, CURSORSIZE); @@ -312,5 +312,5 @@ void Fl_Window::cursor(Fl_Cursor c, Fl_Color fg, Fl_Color bg) { #endif // -// End of "$Id: fl_cursor.cxx,v 1.6.2.6.2.8 2003/01/30 21:43:30 easysw Exp $". +// End of "$Id: fl_cursor.cxx,v 1.6.2.6.2.9 2003/04/03 04:28:15 matthiaswm Exp $". // diff --git a/src/flstring.h b/src/flstring.h index 91663db2d..c2d78e2f8 100644 --- a/src/flstring.h +++ b/src/flstring.h @@ -1,5 +1,5 @@ /* - * "$Id: flstring.h,v 1.1.2.11 2003/01/30 21:44:26 easysw Exp $" + * "$Id: flstring.h,v 1.1.2.12 2003/04/03 04:28:15 matthiaswm Exp $" * * Common string header file for the Fast Light Tool Kit (FLTK). * @@ -63,7 +63,7 @@ extern "C" { * when included - to be resolved... */ -# if defined(__APPLE__) && defined(__MWERKS__) +# if defined(__APPLE__) && defined(__MWERKS__) && defined(_MSL_USING_MW_C_HEADERS) int strcasecmp(const char*,const char*); int strncasecmp(const char*,const char*,int); char *strdup(const char*); @@ -101,5 +101,5 @@ FL_EXPORT extern size_t fl_strlcpy(char *, const char *, size_t); /* - * End of "$Id: flstring.h,v 1.1.2.11 2003/01/30 21:44:26 easysw Exp $". + * End of "$Id: flstring.h,v 1.1.2.12 2003/04/03 04:28:15 matthiaswm Exp $". */