DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2797
Version: 1.3-current


(See thread in fltk.general "Tile sample and X_CreatePixmap error")

On linux (centos 5.5 for me), building fltk 1.3.x with
'configure --disable-xdbe' and running the test/tile program,
when the tiles are moved around such that the 'child window'
tile (an Fl_Double_Window itself) is sized to 0 on either W or H,
the following X windows errors occur on the console:

X_CreatePixmap: BadValue (integer parameter out of range for operation)
0x0
X_CopyArea: BadDrawable (invalid Pixmap or Window parameter) 0x11002b2

This is as far as I could get:
    o Changing Fl_Double_Window -> Fl_Window prevents the errors.
      So that seems to make it Fl_Double_Window specific.

    o The issue is definitely triggered when one of the tiles,
      probably 'child window' is resized to zero on either W or H.
      (I never saw negative numbers, so that's not an issue)

      I determined this by modifying resize() in
      src/Fl_Double_Window.cxx to print the W/H values.
      Errors only occur when W or H is zero.

    o I could easily prevent the problem by adding the following
      two lines of code to src/Fl_Double_Window.cxx's resize():

void Fl_Double_Window::resize(int X,int Y,int W,int H) {
  W = (W<=0)?1:W;       // <-- ADDED THIS
  H = (H<=0)?1:H;       // <-- ADDED THIS
  int ow = w();
[..]
     ..a hack which just prevents windows from possibly being
     resized to zero or less on W or H.

Hopefully one of our X gurus can figure this out; it's hard to trace
the problem down, due to X buffering the errors.


Link: http://www.fltk.org/str.php?L2797
Version: 1.3-current

_______________________________________________
fltk-bugs mailing list
fltk-bugs@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to