On Sun, 2011-01-16 at 23:32 +0100, Lionel Elie Mamane wrote: > Another of those places in code the that assumes C long == 32 bit > integer. These four variables are used to give default values to > properties WindowTop, WindowLeft, WindowWidth and WindowHeight: > > nY = i_rTableWindowSettings.getOrDefault( "WindowTop", nY ); > nX = i_rTableWindowSettings.getOrDefault( "WindowLeft", nX ); > nWidth = i_rTableWindowSettings.getOrDefault( "WindowWidth", nWidth ); > nHeight = i_rTableWindowSettings.getOrDefault( "WindowHeight", nHeight ); > > But these properties are initialised with a "long": > > aWindowData.put( "WindowTop", (*aIter)->GetPosition().Y() ); > aWindowData.put( "WindowLeft", (*aIter)->GetPosition().X() ); > aWindowData.put( "WindowWidth", (*aIter)->GetSize().Width() ); > aWindowData.put( "WindowHeight", (*aIter)->GetSize().Height() ); > > GetPosition() returns a Point, and that returns "long" for X and Y. > GetSize() returns a Size, and that returns "long" for Width and Height.
Grepping for WindowTop in there, I see a LoadTableWindowData which apparently also reads those settings from a file as well and set them. Given that there its also sal_Int32 types, I suggest that maybe its better to change the put to cast the input long type to a sal_Int32 instead ? C. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice