Since GTK 3.19.12, GtkComboBox has an intermediate GtkBox internal child wrapping the inner GtkEntry. To get the entry, `gtk_bin_get_child()` still works as it is part of the API, but the
change breaks the assumption we had that it works the other way around, that `gtk_widget_get_parent(gtk_bin_get_child(combobox)) == combobox`. So, while this assumption seemed reasonable, stop relying on it as it is effectively not correct on GTK 3.20 and newer.
See: https://git.gnome.org/browse/gtk+/commit/?id=222c43fc60362eeb97ce2d5e3a5583…
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1404
-- Commit Summary --
* Fix search history filling on GTK >= 3.20
-- File Changes --
M src/search.c (48)
-- Patch Links --
https://github.com/geany/geany/pull/1404.patchhttps://github.com/geany/geany/pull/1404.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1404
Discovered when working on the gvfs-fuse-less patches.
Steps to reproduce:
1. Enable the saveactions plugin and enable "instant save".
2. Create new document (File->New).
3. Close the tab with the document.
The corresponding backtrace is
```
Thread 1 "geany" received signal SIGSEGV, Segmentation fault.
0x00007ffff58ecd8d in g_type_check_instance () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
(gdb) bt
#0 0x00007ffff58ecd8d in g_type_check_instance ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1 0x00007ffff58e1514 in g_signal_handlers_disconnect_matched ()
from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#2 0x00007ffff79e547c in ScintillaGTKAccessible::~ScintillaGTKAccessible (this=0x1ea0cf0,
__in_chrg=<optimized out>) at gtk/ScintillaGTKAccessible.cxx:165
#3 0x00007ffff79e54ea in scintilla_object_accessible_finalize (object=0x387b030)
at gtk/ScintillaGTKAccessible.cxx:1180
#4 0x00007ffff58ccd9a in g_object_unref () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5 0x00007ffff662ab04 in atk_focus_tracker_notify ()
from /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0
#6 0x00007ffff00a43e7 in ?? () from /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so
#7 0x00007ffff6a64d57 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#8 0x00007ffff53ed04a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9 0x00007ffff53ed3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff53ed712 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff6e2c6a7 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff79a1527 in main_lib (argc=1, argv=0x7fffffffde98) at libmain.c:1233
#13 0x00007ffff7367830 in __libc_start_main (main=0x4005a0 <main>, argc=1, argv=0x7fffffffde98,
init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
stack_end=0x7fffffffde88) at ../csu/libc-start.c:291
#14 0x00000000004005d9 in _start ()
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1410
@kugel- Not now, but I wish. Actually I'm not working on much Geany/GP stuff these days :(
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/164#issuecomment-281993503
This is on the back of making Geany behave [more like RStudio](http://wiki.geany.org/howtos/using_geany_with_r?s[]=rstudio) for interactive use with things like R or Python.
While now it is easy to “Send selection to terminal” (by setting `send_selection_unsafe=true` in `geany.conf` and assigning a key binding), after the line is sent the cursor doesn't move. In RStudio the cursor is being moved at the beginning of the next line. While the interest of this behavior will go down to preference, having used it for some time I find it useful.
Thus it would help to have a `move_down_after_send_selection=true` option, which would:
- when the cursor is on a line and nothing is currently selected, after "sending selection to terminal" (i.e. the current line) move the cursor one line down at the beginning of that line
- when there is a selection, whether on a line or spanning several lines, after "sending selection to terminal" do nothing with the cursor and maintain current selection (i.e. current behavior)
- (optional) when the next (few) line(s) is (are) empty, then move cursor to the next line that is not empty. Personally I never got along with this, so not sure if it's a good idea to implement, but this is how RStudio works right now.
This would make things friendlier for those using R or Python in interactive mode.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1407
Always load the builtin color scheme before the user's one in case the latter lacks some named colors, so it uses the default.
This helps us adding new named styles without requiring each and every theme to be updated.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1186
-- Commit Summary --
* Always load the default builtin color scheme as fallback
-- File Changes --
M src/highlighting.c (43)
-- Patch Links --
https://github.com/geany/geany/pull/1186.patchhttps://github.com/geany/geany/pull/1186.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1186
Based off #1095 and comments, plus some code I wrote ages ago (and have been using since then)
Main things
* Use `CreateProcessW()` on Windows
* Use an installed run script rather than a dynamically created one
* Fix replacing build command placeholders on non-Windows so that everything is always properly quoted. This is based on some quoting code I wrote ages ago to fix a "security" issue we have that a very special filename can execute arbitrary commands. This has 2 main advantages
* placeholders replacements are always properly quoted (minus bugs in the code, but I'm using it for a while now in my own machine: initial version is from 2012 and I had one single relevant fix since then, more than one year ago)
* placeholders in a placeholder replacement isn't replaced again. Currently in master, each pattern is replaced, and then the next, lading to possibly finding placeholders inside a previous replacement. With my patch, it's replaced in one go, and only from the source string.
Also something like this is required to be able to replace "complex" placeholders, like full commands to pass to `sh -c` like we do in the run command. Without something clever, it's virtually impossible to get correct quoting for this.
A better way to fix it *could* be to replace placeholders after having split the arguments; however it requires lot of care and possibly conditional code too, in order to support all of *NIX, Window, and VTE. And there would have to be an argv-to-commandline anyway, as we need to have a way to pass an argument to `sh -c`.
Good Windows support is missing, and currently no extra quoting is done here, so no changes on the placeholders there apart from replacing all at once.
On Windows, it should fix all the spawning issues related to non-ASCII filenames. On Linux, it should not change much apart from properly replacing placeholders, and possibly some uncommon things like if the run script could not be created for some reason.
**Warning:** currently the new run script doesn't `cd` to the working directory configured in the build command, and this relies on us setting the proper working directory when spawning the command itself. If this breaks anything (like possibly a *.profile* that `cd`s somewhere?), it could be added back.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1300
-- Commit Summary --
* Windows: Convert working directory into locale encoding before spawning commands
* Windows: Change codepage for directory change in created batch run script
* Windows: Convert command into locale encoding before executing
* Windows: Convert generated batch script into system codepage
* spawn: Fix Windows environment encoding and other related fixes
* spawn: Fix Windows environment building (oops)
* spawn: convert working_directory only if non-NULL
* Drop useless macro and use G_N_ELEMENTS() instead
* Prevent undefined working directory and command
* Use GetConsoleCP() to get the input console codepage
* Merge remote-tracking branch 'eht16/issue1076_win32_build_working_dir_locale' into eth16winspawnenc
* spawn: Use Wide API on Windows
* Merge branch 'issue1075_win32_build_working_dir_locale' into eth16winspawnenc
* Use a program run helper rather than a script
* Fix quoting of cmd.exe command
* Implement autoclose feature in the run helper
* Implement the run helper as a script
* Fix autoclose in non-Windows run script (oops)
* Windows: fix running a command when the helper has a space in its path
* Fix invalid memory access (oops)
* Windows: expand environment variables using UNICODE API
* Windows: Expand environmen variables in build commands again
* Don't try and unlink the run command, it's not a file anymore (oops)
* Remove unused stuff
* Escape replacements for build command placeholders
* Fix quoting of the run helper path
* Fix run command on Linux
-- File Changes --
M src/Makefile.am (9)
M src/build.c (380)
A src/geany-run-helper (25)
A src/geany-run-helper.bat (27)
M src/prefix.h (1)
M src/spawn.c (124)
M src/utils.c (3)
M src/utils.h (1)
M src/win32.c (45)
M src/win32.h (4)
-- Patch Links --
https://github.com/geany/geany/pull/1300.patchhttps://github.com/geany/geany/pull/1300.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1300