Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@AnishGRao see #942 -- 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/791#issuecomment-575414592
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
To repeat "the version of Geany and GTK it uses (see near the top of help debug messages)." Just copy and paste the information from there. When you are asked for information you need to answer the question or grumpy olde sods like me will tell you off :grin: and as I said above, if its a question do it on the mailing list and also do NOT hijack existing issues for your personal questions. -- 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/791#issuecomment-575403938
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
My apologies, I am on an ubuntu 18.04 system, and noticed that the debugger was not on my plugin list, and through some digging found it was due to having GTK3, rather than GTK2. I want to know how I would download the debugger that is in this repo, and use it on my machine. I am also using Geany 1.36. -- 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/791#issuecomment-575400689
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
When you post to github or mailing lists (which is where you should ask for help, github is for software improvements and bug reports) you should always provide more than "Linux" which is meaningless, you need to provide your distribution and version and the version of Geany and GTK it uses (see near the top of help debug messages). -- 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/791#issuecomment-575396960
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
As someone who enjoys using Geany, but is quite new to Linux in general, how would I be able to use this debugger on my machine? I have noted that I cannot use it, and tracked down the issue to here, but am unsure as to how I would use this, or even where to download these plugins from. Thanks for your time, and sorry for any inconvenience. -- 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/791#issuecomment-575391377
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Merged #791 into master. -- 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/791#event-2332439551
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Well...let's go forward. -- 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/791#issuecomment-491207414
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
This didn't make it into 1.35 but maybe we can put it to milestone 1.36. As written earlier the little overflow problem is acceptable to me. -- 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/791#issuecomment-491016218
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@elextr, @bxgaillard: if the behavior is really caused by a different behavior of gtk2 and gtk3 then it is OK for me. As I wrote I couldn't find anything in the code between the two versions which looked like a porting fault. Also, if someone enables the debugger plugin it doesn't really make sense to make the message window that small that you recognize this issue/difference in behavior. -- 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/791#issuecomment-464799765
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> @bxgaillard have you tried setting sizes and resize and shrink and stuff from > CSS, setting minimum sizes in apps is not very portable. I have made some research and CSS seems not to be appropriate for setting dimensions. On the other hand the correct way to fix it seems to be the Glade file. Changing True to False (Geany release 1.34.1, geany.glade line 8452) doesn't allow overflow for the bottom paned for instance. But as I said just before this has to be fixed in the main Geany repository and has nothing to do with geany-plugins. > Note also the comment from @LarsGit223 that showed the behaviour was > different on different versions of gtk. which did you test on? I tested on both: with GTK+3 the hidden overflow happens and with GTK+2 the controls collapse (they superpose themselves) and the right button panel from the debugger plugin overflows (instead of the whole bottom panel). -- 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/791#issuecomment-464691460
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@bxgaillard have you tried setting sizes and resize and shrink and stuff from CSS, setting minimum sizes in apps is not very portable. Note also the comment from @LarsGit223 that showed the behaviour was different on different versions of gtk. which did you test on? -- 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/791#issuecomment-464686675
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I've looked into it and from what I can tell this is normal behaviour. The main Geany GUI uses GtkPaneds for side panels (document browser, symbols, messages...), including the bottom one. When such a panel is too small to display its contents, the latter is located in hidden overflow. This also happens for the left panel if you resize it: try to drag the splitter to the left, you'll see that the left arrow will slide under the left border of the main window. The exact same thing happens with the debugger plugin if the botton panel becomes too small. Or put more exactly: too small for the right button panel to fit un the bottom space. So IMHO this "bug" is unrelated to the debugger plugin but is a general Geany GUI issue. I can see two possible resolutions: 1. Fix the main Geany GUI so that the side panels don't overflow either by enabling an automatic scrollbar or by specifing a minimum size the panels can't be shrink under (which I think is the best one); 2. Add a scrollbar specific to the whole debugger plugin panel, with possible ergonomic issues. I also checked the GTK+2 behaviour : it simply doesn't honor the plugins minimum panel size. When you shrink the panel so that it becames too small, the controls collapse one above another and the GUI isn't quite usable anymore. This isn't better IMHO. BTW, on an unrelated note, I'm going to rebase the branch on more current code. No other change beyond that. -- 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/791#issuecomment-46469
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I had another look at the changes made by the PR but I cannot find the reason why the re-sizing of the message window does not work as expected under gtk3 if the debugger plugin is enabled. -- 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/791#issuecomment-464369709
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@andy5995: Yes it does. Tested with your repository branch ```debugger-gtk3```: - Ubuntu 18.04.02, gtk 3.22.30, glib 2.56.3: the arrow is missing - Ubuntu 18.04.02, gtk 2.24.32, glib 2.56.3: the arrow is showing Just in case you did not notice because "the down arrow is missing" does not describe the problem I noticed very good. I would say enabling the ```debugger``` plugin on gtk3 causes the menu bar in the message window to have a fixed size. It is not shrinkable/growable any more. So the arrows are gone. Also the menu items are not reduced any more if the height of the message window is too small (I mean that usually e.g. only two menu items are shown if there is only space for two and then you can use the arrows to reach the other buttons). Disabling the ```debugger``` plugin immediately brings back the usual behavior. -- 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/791#issuecomment-464195305
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> One problem I noticed on Debian Buster and Slackware-current: when the > Debugger plug-in is enabled, the "down arrow" disappears Does that reproduce on Ubuntu as well? @LarsGit223 ? -- 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/791#issuecomment-463484270
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
My debug info from Buster: ``` 15:36:41: Geany INFO: Using alternate configuration directory 15:36:41: Geany INFO: Geany 1.35 (git >= bf5c9edd), en_US.utf8 15:36:41: Geany INFO: GTK 3.24.3, GLib 2.58.2 15:36:41: Geany INFO: System data dir: /home/andy/test-geany/share/geany 15:36:41: Geany INFO: User config dir: /home/andy/test-geany/config 15:36:41: Geany INFO: Loaded GTK+ CSS theme '/home/andy/test-geany/share/geany/geany.css' 15:36:41: Geany INFO: Loaded GTK+ CSS theme '/home/andy/test-geany/share/geany/geany-3.20.css' 15:36:41: Geany INFO: System plugin path: /home/andy/test-geany/lib/geany 15:36:41: Geany INFO: Added filetype Clojure (61). 15:36:41: Geany INFO: Added filetype Graphviz (62). 15:36:41: Geany INFO: Added filetype CUDA (63). 15:36:41: Geany INFO: Added filetype JSON (64). 15:36:41: Geany INFO: Added filetype Arduino (65). 15:36:41: Geany INFO: Added filetype Scala (66). 15:36:41: Geany INFO: Added filetype Genie (67). 15:36:41: Geany INFO: Added filetype Cython (68). 15:36:41: Geany INFO: Loaded libvte from libvte-2.91.so 15:36:41: Geany INFO: Loaded: /home/andy/test-geany/lib/geany/debugger.so (Debugger) 15:36:41: Geany INFO: unknown : None (UTF-8) 15:36:49: GdkPixbuf DEBUG : gdk_pixbuf_from_pixdata() called on: 15:36:49: GdkPixbuf DEBUG : Encoding raw 15:36:49: GdkPixbuf DEBUG : Dimensions: 14 x 14 15:36:49: GdkPixbuf DEBUG : Rowstride: 56, Length: 808 15:36:49: GdkPixbuf DEBUG : Copy pixels == false 15:36:49: GdkPixbuf DEBUG : gdk_pixbuf_from_pixdata() called on: 15:36:49: GdkPixbuf DEBUG : Encoding raw 15:36:49: GdkPixbuf DEBUG : Dimensions: 14 x 14 15:36:49: GdkPixbuf DEBUG : Rowstride: 56, Length: 808 15:36:49: GdkPixbuf DEBUG : Copy pixels == false 15:36:49: GdkPixbuf DEBUG : gdk_pixbuf_from_pixdata() called on: 15:36:49: GdkPixbuf DEBUG : Encoding raw 15:36:49: GdkPixbuf DEBUG : Dimensions: 14 x 14 15:36:49: GdkPixbuf DEBUG : Rowstride: 56, Length: 808 15:36:49: GdkPixbuf DEBUG : Copy pixels == false ``` -- 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/791#issuecomment-457366294
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
One problem I noticed on Debian Buster and Slackware-current: when the Debugger plug-in is enabled, the "down arrow" disappears (screenshot below). ![image](https://user-images.githubusercontent.com/16764864/51709843-1a45c100-1fed-11e9-8412-fd2c7a4e1278.png) -- 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/791#issuecomment-457364769
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
#815 fixed the build issue and configure warnings on OpenBSD. -- 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/791#issuecomment-457345926
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Apparently we've got a portability issue with the GTK version check. @andy5995 could you check out #815 and see if it helps? It should get rid of the *"unexpected operator/operand"* issues, and hopefully maybe more. -- 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/791#issuecomment-456984588
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> > `./configure[15275]: test: 3: unexpected operator/operand` > > Could you paste your generated `configure`? The error probably comes from > there and a `test` call that doesn't please your shell Sure... https://gist.github.com/andy5995/fb2b16eb9dab45d9ab8160cdd6f2a48e Also noticed it happening with other tests as well ``` checking libutil.h presence... no checking for libutil.h... no checking for glib-genmarshal... /usr/local/bin/glib-genmarshal checking for glib-mkenums... /usr/local/bin/glib-mkenums checking for rst2html... /usr/local/bin/rst2html ./configure[18255]: test: 3: unexpected operator/operand checking for GTKSPELL... no checking for gpgme-config... no checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no ./configure[19681]: test: 3: unexpected operator/operand ./configure[21201]: test: 3: unexpected operator/operand checking for util.h... (cached) yes checking for pty.h... (cached) no checking for libutil.h... (cached) no checking for ENCHANT_2_2... no checking for ENCHANT_1_5... no checking for ENCHANT_2_0... no checking for glib-mkenums... (cached) /usr/local/bin/glib-mkenums ./configure[22250]: test: 3: unexpected operator/operand ``` -- 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/791#issuecomment-456965884
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> `./configure[15275]: test: 3: unexpected operator/operand` Could you paste your generated `configure`? The error probably comes from there and a `test` call that doesn't please your shell -- 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/791#issuecomment-456964425
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I installed the vte-0.28.2p19 package and that problem was solved. New problem is that the built fails with an undefined reference error: https://gist.github.com/andy5995/0b0fab05c70336bfff86ac4a3354d5a6#file-gistfile1-txt-L59 [config.log](https://github.com/geany/geany-plugins/files/2789099/config.log) Could be related to @LarsGit223 's comment, as I see that function seems to be defined in the utility library. I tried preceding the configure command with PTY_LIBS="-lutil" and LDADD"-lutil" but no effect. -- 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/791#issuecomment-456962902
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> Hi @andy5995, > The problem you mention is with utilslib, which is part of geany-plugins and > now used by the debugger plugin (it contains some compatibility functions). > Did you activate it at configure time? [config.log](https://github.com/geany/geany-plugins/files/2788940/config.log) I only tried activating it after you told me about it ;) But I got the same result. But now I wonder if the test failing is related to the error mentioned on L15275. ``` checking whether the linker understands -Wl,-z,defs... yes ./configure[15275]: test: 3: unexpected operator/operand checking for UTILSLIB... no configure: error: Plugin Debugger depends on utilslib VTE support ``` I looked but couldn't find the problem. -- 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/791#issuecomment-456945493
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I noticed the line ```...PTY_LIBS="-lutil"]``` in ```scope.m4```. Do we need this in ```debugger.m4``` also? -- 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/791#issuecomment-456939439
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Hi @andy5995, The problem you mention is with utilslib, which is part of geany-plugins and now used by the debugger plugin (it contains some compatibility functions). Did you activate it at configure time? It may need some other dependencies besides libvte. -- 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/791#issuecomment-456932300
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
So far, mostly looks good on Buster (I set a breakpoint, watched a variable. One very minor thing.. when debugging a program that uses ncurses, I was able to view the screen in the Debug terminal as expected. The cursor keys worked within the terminal fine. But when I hit the green arrow (continue button to move past a break point), I have to click back in the terminal window each time, otherwise the cursor responds in the document editor window. That probably won't be a problem for anyone; I figured it out pretty quick. As for OpenBSD I get this ``` checking whether the linker understands -Wl,-z,defs... yes ./configure[15275]: test: 3: unexpected operator/operand checking for UTILSLIB... no configure: error: Plugin Debugger depends on utilslib VTE support which is not available ``` These are "vte" packages available to me atm with the package manager: ``` root:/root:11# pkg_info -Q vte libvterm-20170211 (installed) py-vte-0.28.2p14 vte-0.28.2p19 vte3-0.52.2 (installed) vteplugin-0.1p13 ``` The vte3 package was already installed the first time I tried. Then I installed libvterm but got the same result, which is what I posted above. -- 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/791#issuecomment-456912551
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > } g_list_free(modules); gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0); /* arguments */ args_frame = gtk_frame_new(_("Command Line Arguments")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); Thank you for taking the time to explain this to me. I changed the corresponding code accordingly, as well as some other code which used the same construction for fewer differences between GTK+2 and GTK+3 in debug.c. -- 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/791#discussion_r239543813
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
b4n commented on this pull request. > @@ -1048,12 +1068,24 @@ void debug_init(void) NULL); grantpt(pty_master); unlockpt(pty_master); +#if GTK_CHECK_VERSION(3, 0, 0) + pty = vte_pty_new_foreign_sync(pty_master, NULL, NULL); + vte_terminal_set_pty(VTE_TERMINAL(terminal), pty); + g_object_unref(pty); + scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal))); + gtk_widget_set_can_focus(GTK_WIDGET(scrollbar), FALSE); +#else vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master); scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment)); GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS); Yes I'm talking about `gtk_widget_set_can_focus()` I don't really know about the PTY stuff, but it seem that it has indeed to be different with VTE2.91. -- 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/791#discussion_r239192027
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
b4n commented on this pull request. > } g_list_free(modules); gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0); /* arguments */ args_frame = gtk_frame_new(_("Command Line Arguments")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); Be it in GTK2 or GTK3, to actually be scrollable you need to put most widgets in a GtkScrolledWindow. The widgets "supporting scrolling" like GtkTreeView and GtkTextView know how to communicate with the ScrolledWindow. On GTK3 it's a proper interface; on GTK2 it was signals only. Basically, what you usually would do is simply create a ScrolledWindow with passing `NULL` as the adjustments, and let GTK do it's thing when you add the child widget. So, basically you could just use `gtk_scrolled_window_new(NULL, NULL)` followed by `gtk_container_add()` in bot GTK2 and GTK3. -- 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/791#discussion_r239191008
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Thank you @b4n for your review. I applied your proposals, squashed the commits and pushed it. -- 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/791#issuecomment-61148
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -1048,12 +1068,24 @@ void debug_init(void) NULL); grantpt(pty_master); unlockpt(pty_master); +#if GTK_CHECK_VERSION(3, 0, 0) + pty = vte_pty_new_foreign_sync(pty_master, NULL, NULL); + vte_terminal_set_pty(VTE_TERMINAL(terminal), pty); + g_object_unref(pty); + scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal))); + gtk_widget_set_can_focus(GTK_WIDGET(scrollbar), FALSE); +#else vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master); scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment)); GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS); If you're talking about the use of `gtk_widget_set_can_focus()`, that's right and it's fixed. The remaining code about PTY initialization seemingly has to be different though. -- 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/791#discussion_r239034448
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -279,8 +336,15 @@ static void tpage_create_widgets(void) /* environment */ env_frame = gtk_frame_new(_("Environment Variables")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); Same as above. And the correct variable is effectively tree, this is fixed. -- 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/791#discussion_r239033859
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > } g_list_free(modules); gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0); /* arguments */ args_frame = gtk_frame_new(_("Command Line Arguments")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); The code can't be the same between GTK+2 and GTK+3 because the GtkTextView (and the GtkTreeView) don't implement the GtkScrollable interface in GTK+2 whereas they do in GTK+3 and shall seemingly be handled with a GtkScrolledWindow to add the scrolling functionality from what I can understand. However you're absolutely right about the use before assignment, this is fixed. -- 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/791#discussion_r239033661
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > - GdkPixbuf *GSEAL (pixbuf_active); - GdkPixbuf *GSEAL (pixbuf_highlighted); + GdkPixbuf *pixbuf_active; + GdkPixbuf *pixbuf_highlighted; Same answer as above. -- 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/791#discussion_r239032343
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > - GdkPixbuf *GSEAL (pixbuf_enabled); - GdkPixbuf *GSEAL (pixbuf_disabled); - GdkPixbuf *GSEAL (pixbuf_conditional); - GdkPixbuf *GSEAL (pixbuf_file); + GdkPixbuf *pixbuf_enabled; + GdkPixbuf *pixbuf_disabled; + GdkPixbuf *pixbuf_conditional; + GdkPixbuf *pixbuf_file; Yes I didn't understand the reason to use GSEAL() in the first place in the GTK+2 code. It just broke the GTK+3 version. As a more elegant solution to the private nature of these members, I moved the structure definitions out of the .h into the .c. -- 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/791#discussion_r239032254
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE; +#endif Fixed. -- 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/791#discussion_r239031640
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
b4n commented on this pull request. > - GdkPixbuf *GSEAL (pixbuf_enabled); - GdkPixbuf *GSEAL (pixbuf_disabled); - GdkPixbuf *GSEAL (pixbuf_conditional); - GdkPixbuf *GSEAL (pixbuf_file); + GdkPixbuf *pixbuf_enabled; + GdkPixbuf *pixbuf_disabled; + GdkPixbuf *pixbuf_conditional; + GdkPixbuf *pixbuf_file; Yeah it probably doesn't matter much here indeed. I just mentioned that because the code previously used `GSEAL()` that's all. -- 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/791#discussion_r238961110
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
elextr commented on this pull request. > - GdkPixbuf *GSEAL (pixbuf_enabled); - GdkPixbuf *GSEAL (pixbuf_disabled); - GdkPixbuf *GSEAL (pixbuf_conditional); - GdkPixbuf *GSEAL (pixbuf_file); + GdkPixbuf *pixbuf_enabled; + GdkPixbuf *pixbuf_disabled; + GdkPixbuf *pixbuf_conditional; + GdkPixbuf *pixbuf_file; Whats the point of complicating things by making them "private"? This is a debugger plugin, not a library that needs to be protected from being used by millions. -- 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/791#discussion_r238865820
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
b4n requested changes on this pull request. Looks mostly OK and harmless, although I'm not fond of the style used to support both GTK versions. There's a few suspicious thing around the end though. > return; + + g_object_get_property(G_OBJECT(cell), "is-expander", _expander_value); + is_expander = g_value_get_boolean(_expander_value); + g_value_unset(_expander_value); You should probably just use the simpler version: `g_object_get(cell, "is-expander", _expander, NULL)` > cell_renderer->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE; +#endif Here the GTK3 version would work on GTK2 too > - GdkPixbuf *GSEAL (pixbuf_enabled); - GdkPixbuf *GSEAL (pixbuf_disabled); - GdkPixbuf *GSEAL (pixbuf_conditional); - GdkPixbuf *GSEAL (pixbuf_file); + GdkPixbuf *pixbuf_enabled; + GdkPixbuf *pixbuf_disabled; + GdkPixbuf *pixbuf_conditional; + GdkPixbuf *pixbuf_file; I guess this would ideally use a private member: the goal of `GSEAL()` during GTK3 transition preparation was to "hide" members to callers by mangling their name. The "correct" solution is to use a private, opaque, structure. > - GdkPixbuf *GSEAL (pixbuf_active); - GdkPixbuf *GSEAL (pixbuf_highlighted); + GdkPixbuf *pixbuf_active; + GdkPixbuf *pixbuf_highlighted; Same for private > @@ -1048,12 +1068,24 @@ void debug_init(void) NULL); grantpt(pty_master); unlockpt(pty_master); +#if GTK_CHECK_VERSION(3, 0, 0) + pty = vte_pty_new_foreign_sync(pty_master, NULL, NULL); + vte_terminal_set_pty(VTE_TERMINAL(terminal), pty); + g_object_unref(pty); + scrollbar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(terminal))); + gtk_widget_set_can_focus(GTK_WIDGET(scrollbar), FALSE); +#else vte_terminal_set_pty(VTE_TERMINAL(terminal), pty_master); scrollbar = gtk_vscrollbar_new(GTK_ADJUSTMENT(VTE_TERMINAL(terminal)->adjustment)); GTK_WIDGET_UNSET_FLAGS(scrollbar, GTK_CAN_FOCUS); This line could be using the GTK3 version > } g_list_free(modules); gtk_combo_box_set_active(GTK_COMBO_BOX(debugger_cmb), 0); /* arguments */ args_frame = gtk_frame_new(_("Command Line Arguments")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); This is weird to be so different between versions, if the view should be in a scrolled window, it probably should be in any case, even if it works OK with GTK2 but shows a GTK3 bug. Also, `args_textview` seems ti be used before assignment a few lines down. > @@ -279,8 +336,15 @@ static void tpage_create_widgets(void) /* environment */ env_frame = gtk_frame_new(_("Environment Variables")); +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_scrolled_window_new( + gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(args_textview)), + gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(args_textview))); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(hbox), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); same here, and using the adjustment from `args_textview` seem wrong here, shouldn't it be `tree`? -- 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/791#pullrequestreview-181400912
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@elextr, @b4n: Yes, I reviewed this. I have to admit that I never wrote a debugger myself. But the things changed here only apply to the GUI, not to the debugger related internals. I tested the following: - building under Ubuntu with GTK2 and 3 - simple test under Ubuntu with GTK2 and 3: run a program in the debugger, have some breakpoints. Inspect some variables. I clicked some icons and dialogs, nothing seems to be broken. - I did not test the GUI extensively (that means, I did **not** make a checkpoint list of all debugger related icons and menus and tested each of it) - I did not test or build under Windows or Mac - I had a look at the GTK API calls and the GTK versions for which they are supported and suggested changes (see the review for details) - Changes were applied and I re-tested and re-viewed again -- 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/791#issuecomment-444179781
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
An IDE without a debugger, blocked in this state for the lifetime of the next stable Debian release, that would be very sad. -- 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/791#issuecomment-444115777
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Oh well, no debugger for Debian and descendants with 1.34. Note that @LarsGit223 reviewed and presumably tested and he is scope maintainer. -- 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/791#issuecomment-444095012
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I did work on the debugger plugin and am willing to look at this, but I won't have time for 1.34 -- 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/791#issuecomment-444090762
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@b4n @frlan are you going to wait for the maintainer or will you merge for 1.34? -- 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/791#issuecomment-444038594
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> Therefore thanks for putting time in it even though it wasn't your PR > originally :+1: My pleasure. > Once the others agree to merge it, the only thing left to do would be to > squash the commits into one. Done. -- 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/791#issuecomment-442032869
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
> I'm not a GTK+ expert at all, that's why I didn'y dive in the documentation > and just applied the changes from #645 with preprocessing conditionals. Therefore thanks for putting time in it even though it wasn't your PR originally :+1: Once the others agree to merge it, the only thing left to do would be to squash the commits into one. -- 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/791#issuecomment-441781397
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
LarsGit223 approved this pull request. -- 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/791#pullrequestreview-178477829
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
LarsGit223 approved this pull request. This looks much better now because of all the code that is now shared between gtk2 and 3. Also, the deprecation warnings I mentioned when compiling for gtk2 seem to be gone. Compiled/installed/tested debugging shortly on gtk2 and 3 again, still works. So I give it my OK. -- 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/791#pullrequestreview-178477598
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
LarsGit223 commented on this pull request. > @@ -196,27 +223,45 @@ void tpage_pack_widgets(gboolean tabbed) { GtkWidget *lbox, *rbox, *hbox; +#if GTK_CHECK_VERSION(3, 0, 0) + root = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING); + gtk_box_set_homogeneous(GTK_BOX(root), TRUE); Ok, let's keep it to. -- 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/791#discussion_r236406342
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
LarsGit223 commented on this pull request. > gtk_box_pack_start(GTK_BOX(root), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_name, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_button_browse, FALSE, FALSE, 0); /* lower hbox */ +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING); + gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE); Ok, then let's keep it as-is. -- 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/791#discussion_r236406188
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
Thank you @LarsGit223 for the thorough PR review! I'm not a GTK+ expert at all, that's why I didn'y dive in the documentation and just applied the changes from #645 with preprocessing conditionals. As indicated in my replies I've applied your suggestions and pushed a new commit which should be more adequate. -- 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/791#issuecomment-441674841
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > gtk_widget_set_size_request(target_button_browse, BROWSE_BUTTON_WIDTH, > 0); g_signal_connect(G_OBJECT(target_button_browse), "clicked", G_CALLBACK (on_target_browse_clicked), NULL); /* debugger */ debugger_label = gtk_label_new(_("Debugger:")); +#if GTK_CHECK_VERSION(3, 0, 0) + debugger_cmb = gtk_combo_box_text_new(); I agree. Fixed. -- 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/791#discussion_r236292842
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -366,7 +442,11 @@ int tpage_get_debug_module_index(void) */ gchar* tpage_get_debugger(void) { +#if GTK_CHECK_VERSION(3, 0, 0) + return gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(debugger_cmb)); I agree. Fixed. -- 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/791#discussion_r236292933
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > modules = debug_get_modules(); for (iter = modules; iter; iter = iter->next) { +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(debugger_cmb), (gchar*)iter->data); I agree. Fixed. -- 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/791#discussion_r236292887
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > gtk_box_pack_start(GTK_BOX(root), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_name, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), target_button_browse, FALSE, FALSE, 0); /* lower hbox */ +#if GTK_CHECK_VERSION(3, 0, 0) + hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, SPACING); + gtk_box_set_homogeneous(GTK_BOX(hbox), TRUE); Maybe it could, but `gtk_box_set_homogeneous()` is used because of the missing parameter in `gtk_box_new()`. Using it in the GTK2 version would be redundant. -- 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/791#discussion_r236292616
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > } +#if GTK_CHECK_VERSION(3, 0, 0) + while (!g_cond_wait_until(, _config_mutex, interval)); + g_mutex_unlock(_config_mutex); Fixed: the old code has been replaced with the new one. -- 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/791#discussion_r236291419
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -197,7 +197,11 @@ static void on_render_line(GtkTreeViewColumn > *tree_column, GtkCellRenderer *cell g_object_set(cell, "text", "", NULL); else { +#if GTK_CHECK_VERSION(3, 0, 0) + GValue value = G_VALUE_INIT; Fixed: old code replaced with new one. -- 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/791#discussion_r236292070
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -287,8 +288,13 @@ void dpaned_init(void) /* setup notebooks */ gtk_notebook_set_scrollable(GTK_NOTEBOOK(debug_notebook_left), TRUE); gtk_notebook_set_scrollable(GTK_NOTEBOOK(debug_notebook_right), TRUE); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_notebook_set_group_name(GTK_NOTEBOOK(debug_notebook_left), NOTEBOOK_GROUP_NAME(NOTEBOOK_GROUP)); + gtk_notebook_set_group_name(GTK_NOTEBOOK(debug_notebook_right), NOTEBOOK_GROUP_NAME(NOTEBOOK_GROUP)); +#else I agree. Fixed. -- 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/791#discussion_r236291938
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -1066,7 +1105,13 @@ void debug_init(void) configfile = g_strconcat(geany_data->app->configdir, G_DIR_SEPARATOR_S, "geany.conf", NULL); g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); font = utils_get_setting_string(config, "VTE", "font", "Monospace 10"); +#if GTK_CHECK_VERSION(3, 0, 0) + fontdesc = pango_font_description_from_string(font); + vte_terminal_set_font(VTE_TERMINAL(terminal), fontdesc); + pango_font_description_free(fontdesc); +#else I used the common utils library, thanks for the suggestion. -- 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/791#discussion_r236291906
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -269,8 +274,13 @@ static void save_to_keyfile(GKeyFile *keyfile) */ static gpointer saving_thread_func(gpointer data) { +#if GTK_CHECK_VERSION(3, 0, 0) + gint64 interval; + g_mutex_lock(_config_mutex); +#else I agree. I replaced the deprecated glib code with the new one. -- 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/791#discussion_r236290306
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -320,7 +324,11 @@ static void on_watch_dragged_callback(GtkWidget *wgt, > GdkDragContext *context, i gpointer userdata) { /* string that is dragged */ +#if GTK_CHECK_VERSION(3, 0, 0) + gchar *expression = (gchar*)gtk_selection_data_get_data(seldata); I agree. Fixed. -- 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/791#discussion_r236291733
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -458,21 +493,36 @@ void config_init(void) g_free(data); } +#if GTK_CHECK_VERSION(3, 0, 0) + g_mutex_init(_config_mutex); + g_cond_init(); + saving_thread = g_thread_new(NULL, saving_thread_func, NULL); +#else I agree. Fixed. -- 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/791#discussion_r236291561
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -308,11 +318,20 @@ static gpointer saving_thread_func(gpointer data) debug_config_changed = FALSE; } +#if GTK_CHECK_VERSION(3, 0, 0) + interval = g_get_monotonic_time() + SAVING_INTERVAL; +#else This change has been made to use the new `g_cond_wait_until()` function which replaces the deprecated `g_cond_timed_wait()` one. The old code has been replaced with the new one. -- 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/791#discussion_r236291241
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -136,21 +152,37 @@ static void > cell_renderer_frame_icon_get_size(GtkCellRenderer *cell, GtkWidget * pixbuf_height = MAX (pixbuf_height, gdk_pixbuf_get_height (cellframe->pixbuf_highlighted)); } +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_cell_renderer_get_padding(cell, , ); + calc_width = xpad * 2 + pixbuf_width; + calc_height = ypad * 2 + pixbuf_height; + + gtk_cell_renderer_get_alignment(cell, , ); +#else I agree. Fixed. -- 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/791#discussion_r236289966
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -82,17 +82,28 @@ static void on_execute_until(GtkButton *button, gpointer > user_data) */ GtkWidget* btnpanel_create(on_toggle cb) { +#if GTK_CHECK_VERSION(3, 0, 0) + GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, CP_BUTTONS_PAD); + I agree. Fixed. -- 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/791#discussion_r236289718
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > cell_renderer_frame_icon_get_size (cell, widget, cell_area, _rect.x, _rect.y, _rect.width, _rect.height); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_cell_renderer_get_padding(cell, , ); + pix_rect.x += cell_area->x + xpad; + pix_rect.y += cell_area->y + ypad; + pix_rect.width -= xpad * 2; I agree. Fixed. -- 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/791#discussion_r236290013
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > calc_width = (gint) cell->xpad * 2 + pixbuf_width; calc_height = (gint) cell->ypad * 2 + pixbuf_height; +#endif I agree. Fixed. -- 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/791#discussion_r236289835
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > @@ -67,8 +67,13 @@ static GKeyFile *keyfile_project = NULL; static gboolean debug_config_loading = FALSE; /* saving thread staff */ +#if GTK_CHECK_VERSION(3, 0, 0) +static GMutex change_config_mutex; +static GCond cond; +#else I agree. I replaced the deprecated glib code with the new one. -- 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/791#discussion_r236290271
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
bxgaillard commented on this pull request. > cell_renderer_break_icon_get_size (cell, widget, cell_area, _rect.x, _rect.y, _rect.width, _rect.height); +#if GTK_CHECK_VERSION(3, 0, 0) + gtk_cell_renderer_get_padding(cell, , ); + pix_rect.x += cell_area->x + xpad; + pix_rect.y += cell_area->y + ypad; I agree. Fixed. -- 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/791#discussion_r236289889
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
@bxgaillard pushed 1 commit. 5eec7fd Factorize some code between GTK2 and GTK3. -- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/geany/geany-plugins/pull/791/files/d133cfba4e19d9afeb78573c37f89fa952a8e5b9..5eec7fdabc7e6b41a1f8343c8562759f37400dd3
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
I'll try to have a look on it at the weekend. -- 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/791#issuecomment-440539370
Re: [Github-comments] [geany/geany-plugins] 'Debugger' plugin port to GTK3 with GTK2 compatibility (#791)
The maintainer of debugger is not very active lately, so anybody should feel free to review/test/comment otherwise this may be fairly slow to be added. -- 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/791#issuecomment-440458631