1. The text has been slightly corrected and made more uniform.
2. The parameters are sorted in some logical order, starting with the more "global" ones. A long list of values for debugging is located at the end. Now all parameters are visible at once, without scrolling.
3. Indentations fixed.
4. The list of values for the --skip-checks parameter is listed in a column, similar to the values for the --debug-enable parameter. This is easier to read and does not create a very long line, which is visible in the screenshot.
5. The "LCL Interface specific options:" header is displayed only if such parameters exist.
6. Changed max line length to a more standard 80.
7. Help output has been moved in a nested function.
8. Removed unused code.
This fixes a bunch of warnings when Gtk1 applications start. The fixes
are on keyboard initialization (make a previously statically sized array
dynamic as the old value wasn't long enough and disable an unnecessary
warning about filling the VK table as the user can't do anything about
it - nor we unless the whole thing is redesigned), module loading (this
is a side effect of an environment variable collision between Gtk1, Gtk2
and Gtk3 - all of these use the GTK_MODULES variable to load some
modules but since as of 2023 no distribution aside from Slackware comes
with Gtk1, all of these warnings are bogus, so this patch temporarily
cleans the environment variable before initializing Gtk and restores it
later so that child processes can still access it) and passing NULL
styles to gtk_style_copy (the previous code assumed the style retrieval
functions always return a valid object, which is not the case).
When a menu does not have any icons set, the existing code drew
checkboxes over the menu icons. This patch fixes that.
The previous code relied on a function that apparently became noop in
Gtk 1.2.9 but the underlying code and private field it modified were not
changed, so this fix now changes the private field directly (this change
was made in 2001 so the chances of this breaking are a bit low :-P).
It also removes the unnecessary left side padding when no menu has any
icon or is checkable so that the menu appearance matches other
(non-Lazarus made) Gtk 1.2 programs.
This refactors the LM_CONTEXTMENU emulation in Gtk1 to also emit it for
design-mode controls so that the context menu now works in the form
designer again.
There are still some minor glitches, but the IDE and most examples i
tried seem to work fine. Some examples didn't work but that seemed to
be mainly a Gtk 1.2 limitation (e.g. no rotating fonts).
- unify code for PopupMode/PopupParent in one function TCustomForm.GetRealPopupParent for all WS.
- change TWSCustomFormClass.SetPopupParent to TWSCustomFormClass.SetRealPopupParent without PopupMode parameter.
- Fix TPopupMode documentation.
Issue #29247
git-svn-id: trunk@51032 -