----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/101492/ -----------------------------------------------------------
(Updated June 3, 2011, 10:09 p.m.) Review request for kdelibs. Changes ------- Always set default values for size/position. Always calculate min/max width/height. Summary (updated) ------- When an X geometry is given on the command line, parseGeometry() will, for positive positions, use geometry().x()/.y() instead of the x/y value parsed from the string. This causes positive positions to not work. For negative values the string values are used, but the w/h variables will be used uninitialized unless both a size and position are given. No direct bugs reported on this that I can find, but the odd position behavior is noted in some --geometry related bugs: Comment #6, http://bugs.kde.org/show_bug.cgi?id=165355 http://bugs.kde.org/show_bug.cgi?id=230663 For the KMainWindow --geometry parsing to work for both size and position, the client application will have to call applyMainWindowSettings() or restoreWindowSize(). The parsing done by KMainWindowPrivate::init() will only set position. Not sure if that is good, as a user of the window I would expect it to use all of the --geometry data at the same time (either on creation or some later call). Diffs (updated) ----- kdeui/widgets/kmainwindow.cpp 1d27722 Diff: http://git.reviewboard.kde.org/r/101492/diff Testing (updated) ------- Using a KApplication program with a KMainWindow that also calls applyMainWindowSettings (keditbookmarks), positions verified using xwininfo: keditbookmarks --geometry 400x300+100+200 keditbookmarks --geometry 400x300-100+200 keditbookmarks --geometry 400x300+100-200 keditbookmarks --geometry 400x300-100+200 keditbookmarks --geometry 400x300 keditbookmarks --geometry +100+200 keditbookmarks --geometry -400-300 Without patch all +coords are replaced by 0. Negative positions do not account for window decorations as the size of those are not known. I suspect the user will have to adjust for that in their input. Negative positions also has a problem that parseGeometry(false) is called before keditbookmarks has set a (default) size on the window, so it is 640x480. Thanks, Urban