Once Dispose() has been called, scrollbars will be NULL, so we need to
check against this in code that might run after Dispose().
Fixes scary warnings on certain widget destruction scenarios.
Closes#993.
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1873/
X-Scintilla-Commit-ID: 4e67e6ee45732a048907ef1577cf1efc25729313
Works around GTK bug https://bugzilla.gnome.org/show_bug.cgi?id=769287.
Stop emission of the ::show-menu signal if it was first emitted from an
inactive toggle button, which happens only in the buggy case.
This workaround tries to not negatively affect a correctly behaving GTK
version in the unlikely case some distributions patched their version.
Fixes#1149.
Since Geany requires C99 parser, the patch just simply includes stdbool.h
in general.h and drops the TRUE, FALSE definitions inside the same file.
The rest is purely mechanical
boolean -> bool
TRUE -> true
FALSE -> false
plus some alignment fixes.
This patch corresponds to universal-ctags commit ce990805a0a0269c.
2499b96ea1d1eb523733c95e7ec73af827b6032e fixed missing escaping of
markup text, but failed to remove explicit escaping from
ui_label_new_bold(), leading to dual escaping of bold labels.
It is very hard to debug if the proxy plugin happens to give
extensions starting with a dot. If they do, detect this case, warn
in the debug messages, and fix the extension. It seems unlikely
that files with two dot extensions will be desired, so it should
case no harm.
* Add GEANY_ prefix to enumerators.
* Use a discrete set of enumerators so the proxy doesn't have to
worry about flag bitmasks, which isn't required.
* Update documentation.
* Use the new enumerators in Geany.
* Improve debug output for bogus values a bit.
Expect [1] scripts filenames generally end in .exp, although the code
itself is actually in Tcl. I find my self manually selecting Tcl quite
often, so I think it would be nice if Geany would recognize it direcly
as Tcl.
[1] http://expect.sourceforge.net/
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Clang warns when comparing an enumeration type with a value not found
in this enumeration:
warning: comparison of constant VALUE with expression of type 'TYPE' is
always false [-Wtautological-constant-out-of-range-compare]
If the compiler then decides to optimize the test away because it
assumes the it is indeed always false, it can lead to pretty subtle and
nasty issues.
Ported universal-ctags patch from Colomban Wendling
GTK 3.21.0 fixed font size handling, leading to properly interpreting
pixels and points in CSS declarations. However, as older versions
incorrectly handled those, the code has to handle both behaviours.
From CSS, GTK < 3.21.0 actually applied the conversion to points, but
incorrectly: 10px was used as 10pt, but 10pt was scaled up twice.
So, assuming 96 DPI, it leads to:
font-size | 3.20.0 | 3.21.0 |
----------|---------|---------|
10px | 13.33px | 10px |
10pt | 17.77px | 13.33px |
So, we need to fix the code to accommodate for both (either scaling
ourselves, or adapting the unit: I chose the second, simpler, option).
See https://git.gnome.org/browse/gtk+/commit/?id=df08fc91bdc1d2e4c866122304fabe4dd298a7de
X-Scintilla-Bug-URL: https://sourceforge.net/p/scintilla/bugs/1859/
X-Scintilla-Commit-ID: a4b5da8b3a0a05a1e67ba7eb08474106d421b088
The previous string was a bit confusing what the placeholders
could mean. There was an error in the German translation where
the second placeholder was interpreted as template name instead
of the error message.
This change should make it more clear and also put the error message
to the end of the string.
`lexer.cpp.track.preprocessor` lexer properties affects which styles
are used, and we don't set those, so no filetype inheriting C styles
should set it to 1.
Similarly, some properties like `styling.within.preprocessor` are
mostly general settings rather than selecting syntax details, so they
should probably match in all filetypes for consistency.
So, inherit the C lexer_properties everywhere C styles are used, and
only override specific properties in the inheriting filetype.
We don't set the styles for inactive preprocessor sections, so we
should make sure they aren't used. Also, Haxe has different
preprocessor directives than C does, which confuses LexCPP tracking
anyway.
Fixes#936.
Use more generic code to not fall into the same issue next time layout
changes, and to potentially support plugin tabs in the message window.
Fixes#1198.
2150302fe6e88f88e5eba78502b478be2b78c662 introduced a bug, because
configuration_load_session_files() calls VTE code if vte_info.have_vte
is non-FALSE, before vte_init() has been called. So, it relied in the
implicit 0-initialization of the vte_info global, which the above
commit changed carelessly.
So, instead of altering vte_info.have_vte early, add a specific flag
for whether VTE is disabled on the command line.
Also, explicitly initialize vte_info to suggest to the reader the
default values does matter.
It has no usage inside Geany itself, had a bug in handling of markup
in the label, has only one user in Geany-Plugins, and is fairly easy
to reproduce.