Tryton - Issues

 

Issue5387

Title Add support to GTK+ 3.0
Priority feature Status resolved
Superseder Nosy List Timitos, ced, nicoe, resteve, reviewbot, roundup-bot
Type feature request Components tryton
Assigned To ced Keywords review
Reviews 16441002
View: 16441002

Created on 2016-03-11.21:42:55 by ced, last changed by roundup-bot.

Messages
New changeset 292e8f420160 by C?dric Krier in branch 'default':
Use pygtkcompat to support GTK 3.0
http://hg.tryton.org/tryton/rev/292e8f420160
review16441002 updated at https://codereview.tryton.org/16441002/#ps580001
review16441002 updated at https://codereview.tryton.org/16441002/#ps540001
review16441002 updated at https://codereview.tryton.org/16441002/#ps520001
msg28949 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-23.10:02:16
Here is the bug report on Pango to get label attributes working: https://bugzilla.gnome.org/show_bug.cgi?id=771862
review16441002 updated at https://codereview.tryton.org/16441002/#ps500001
review16441002 updated at https://codereview.tryton.org/16441002/#ps490001
msg28816 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-16.15:50:04
On 2016-09-16 14:54, Korbinian Preisler wrote:
> New error after your fix:
> 
> Traceback (most recent call last):
>   File "/home/kpreisler/dev/tryton/tryton/tryton/gui/window/form.py", line 474, in action_popup
>     None)
>   File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 1540, in popup
>     self.popup_for_device(None, parent_menu_shell, parent_menu_item, func, data, button, activate_time)
> TypeError: Argument 8 does not allow None as a value

OK, it is too complicate to support this version. I limit it to >= 3.20
msg28815 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-16.15:05:03
On 2016-09-16 14:44, Korbinian Preisler wrote:
> I think we need to decide which gtk-versions should be supported. will do some more testing on 3.14 if you plan to support it

I think it is good to at least support the version of the last stable
Debian.
msg28814 (view) Author: [hidden] (Timitos) Date: 2016-09-16.14:54:40
New error after your fix:

Traceback (most recent call last):
  File "/home/kpreisler/dev/tryton/tryton/tryton/gui/window/form.py", line 474, in action_popup
    None)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 1540, in popup
    self.popup_for_device(None, parent_menu_shell, parent_menu_item, func, data, button, activate_time)
TypeError: Argument 8 does not allow None as a value
review16441002 updated at https://codereview.tryton.org/16441002/#ps470001
msg28811 (view) Author: [hidden] (Timitos) Date: 2016-09-16.14:44:11
I think we need to decide which gtk-versions should be supported. will do some more testing on 3.14 if you plan to support it
msg28810 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-16.14:41:14
Indeed it is a bug in gtk+ which was fixed only after 3.14
See https://git.gnome.org/browse/gtk+/commit/?id=8463d0ee62b4b22fa1eefd905a91850b10504229
So I upload a new version which takes care of this API change.
There are many other similar issue with 3.14 version but I can not test as I have 3.20.
review16441002 updated at https://codereview.tryton.org/16441002/#ps450001
msg28807 (view) Author: [hidden] (Timitos) Date: 2016-09-16.14:00:25
This is the version of package libgtk-3-0:
3.14.5-1+deb8u1

I hope this is the right package
msg28805 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-16.12:55:04
On 2016-09-16 12:38, Korbinian Preisler wrote:
> Could it be a problem with an old gtk version? i tested it on debian jessie.

I do not know what is the version on debian jessie.
msg28803 (view) Author: [hidden] (Timitos) Date: 2016-09-16.12:38:46
Could it be a problem with an old gtk version? i tested it on debian jessie.
msg28800 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-16.12:02:20
@Timitos I can not reproduce. Are you sure to run the latest version of the patch?
msg28799 (view) Author: [hidden] (Timitos) Date: 2016-09-16.11:46:38
Just tried it the first time. Great work.

Clicking on the relate button of the form view toolbar raises the following error:
TypeError: position_func() takes at least 4 arguments (2 given)
msg28681 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-12.21:03:09
With the review28791002 of [1], Goocalendar can be used with GIR and GTK+ 3.0.
Unfortunately, it relies on patches for GooCanvas. I hope a release with those fixed will be soon published.
This makes the all application testable under GTK+ 3.0 (see msg28368).

[1] https://goocalendar.tryton.org/bug4
review16441002 updated at https://codereview.tryton.org/16441002/#ps430001
review16441002 updated at https://codereview.tryton.org/16441002/#ps410001
review16441002 updated at https://codereview.tryton.org/16441002/#ps390001
review16441002 updated at https://codereview.tryton.org/16441002/#ps370001
msg28368 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-07.14:51:36
The patch can be tested. The only missing point is the calendar view but it can not be supported right now because the introspection is not in good shape for GooCanvas (I will work on patches for upstream).
To test, you just have to apply the patch and run tryton with GTK_VERSION=3 (and GTK_VERSION=2).
review16441002 updated at https://codereview.tryton.org/16441002/#ps350001
review16441002 updated at https://codereview.tryton.org/16441002/#ps330001
review16441002 updated at https://codereview.tryton.org/16441002/#ps310001
msg28293 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-09-02.16:21:01
The current patch version is already testable with the exception of graph and calendar views (and msg28238).
review16441002 updated at https://codereview.tryton.org/16441002/#ps290001
review16441002 updated at https://codereview.tryton.org/16441002/#ps250001
review16441002 updated at https://codereview.tryton.org/16441002/#ps210039
review16441002 updated at https://codereview.tryton.org/16441002/#ps220001
review16441002 updated at https://codereview.tryton.org/16441002/#ps200001
review16441002 updated at https://codereview.tryton.org/16441002/#ps180001
msg28240 (view) Author: [hidden] (nicoe) (Tryton committer) (Tryton translator) Date: 2016-08-31.16:56:01
I can reproduce the crash with gtk3-3.21.5 from the debian SID repository
review16441002 updated at https://codereview.tryton.org/16441002/#ps160001
msg28238 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-08-31.15:58:03
I'm experiencing a Segmentation fault with the latest version of the patch.
The scenario is quiet simple:
- open parties
- switch to view form
- open popup for an identifier
- close the popup
- re-open a popup for an identifier

The segmentation fault happens in libgtk-3 and seems to imply only gtk-3.

It will be great if someone could reproduce it. So I will be sure it is not something with my machine. FYI, I use gtk+3-3.18.7.


The traceback:

Program received signal SIGSEGV, Segmentation fault.
0x000001effc93bcd9 in _gtk_pixel_cache_invalidate () from /usr/local/lib/libgtk-3.so.1800.0
(gdb) bt
#0  0x000001effc93bcd9 in _gtk_pixel_cache_invalidate () from /usr/local/lib/libgtk-3.so.1800.0
#1  0x000001effca24f85 in gtk_viewport_map () from /usr/local/lib/libgtk-3.so.1800.0
#2  0x000001efd7bb00e7 in _g_closure_invoke_va () from /usr/local/lib/libgobject-2.0.so.4200.2
#3  0x000001efd7bc8486 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.2
#4  0x000001efd7bc9681 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.2
#5  0x000001effca3b5ab in gtk_widget_map () from /usr/local/lib/libgtk-3.so.1800.0
#6  0x000001effc9664f0 in gtk_scrolled_window_forall () from /usr/local/lib/libgtk-3.so.1800.0
#7  0x000001effc818a13 in gtk_container_map () from /usr/local/lib/libgtk-3.so.1800.0
#8  0x000001effc966f65 in gtk_scrolled_window_map () from /usr/local/lib/libgtk-3.so.1800.0
#9  0x000001efd7bb00e7 in _g_closure_invoke_va () from /usr/local/lib/libgobject-2.0.so.4200.2
#10 0x000001efd7bc8486 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.2
#11 0x000001efd7bc9681 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.2
#12 0x000001effca3b5ab in gtk_widget_map () from /usr/local/lib/libgtk-3.so.1800.0
#13 0x000001effc7cec63 in gtk_box_forall () from /usr/local/lib/libgtk-3.so.1800.0
#14 0x000001effc818a13 in gtk_container_map () from /usr/local/lib/libgtk-3.so.1800.0
#15 0x000001efd7bb00e7 in _g_closure_invoke_va () from /usr/local/lib/libgobject-2.0.so.4200.2
#16 0x000001efd7bc8486 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.2
#17 0x000001efd7bc9681 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.2
#18 0x000001effca3b5ab in gtk_widget_map () from /usr/local/lib/libgtk-3.so.1800.0
#19 0x000001effca4af06 in gtk_window_map () from /usr/local/lib/libgtk-3.so.1800.0
#20 0x000001effc8489cf in gtk_dialog_map () from /usr/local/lib/libgtk-3.so.1800.0
#21 0x000001efd7bb003d in _g_closure_invoke_va () from /usr/local/lib/libgobject-2.0.so.4200.2
#22 0x000001efd7bc8486 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.2
#23 0x000001efd7bc9681 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.2
#24 0x000001effca3b5ab in gtk_widget_map () from /usr/local/lib/libgtk-3.so.1800.0
#25 0x000001effca493a7 in gtk_window_show () from /usr/local/lib/libgtk-3.so.1800.0
#26 0x000001efd7bb02c3 in g_closure_invoke () from /usr/local/lib/libgobject-2.0.so.4200.2
#27 0x000001efd7bc6700 in signal_emit_unlocked_R () from /usr/local/lib/libgobject-2.0.so.4200.2
#28 0x000001efd7bc8eb9 in g_signal_emit_valist () from /usr/local/lib/libgobject-2.0.so.4200.2
#29 0x000001efd7bc9681 in g_signal_emit () from /usr/local/lib/libgobject-2.0.so.4200.2
#30 0x000001effca360a0 in gtk_widget_show () from /usr/local/lib/libgtk-3.so.1800.0
#31 0x000001f05c773b44 in ffi_call_unix64 () from /usr/local/lib/libffi.so.1.2
#32 0x000001f05c773951 in ffi_call () from /usr/local/lib/libffi.so.1.2
#33 0x000001f0ad177014 in pygi_invoke_c_callable () from /usr/local/lib/python2.7/site-packages/gi/_gi.so
#34 0x0000000000000000 in ?? ()
review16441002 updated at https://codereview.tryton.org/16441002/#ps140001
msg24785 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-03-11.21:58:18
I think the best way to progress on this topic, is to create small patches that fixes 1 particular issue at a time.
msg24784 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2016-03-11.21:42:55
review16441002 is a starting work to add support of GTK+ 3.0 using pygtkcompat
History
Date User Action Args
2016-10-31 17:22:57roundup-botsetstatus: testing -> resolved
nosy: + roundup-bot
messages: + msg30080
2016-10-30 20:34:23reviewbotsetmessages: + msg30046
2016-10-12 22:55:34reviewbotsetmessages: + msg29326
2016-10-02 15:20:15reviewbotsetmessages: + msg29117
2016-09-23 10:02:16cedsetmessages: + msg28949
2016-09-20 00:54:30reviewbotsetmessages: + msg28844
2016-09-16 15:50:38reviewbotsetmessages: + msg28818
2016-09-16 15:50:04cedsetmessages: + msg28816
2016-09-16 15:05:03cedsetmessages: + msg28815
2016-09-16 14:54:41Timitossetmessages: + msg28814

Showing 10 items. Show all history (warning: this could be VERY long)