GnuCash
Contact   Instructions
Bug 797170 - gnucash-3.5 fails to compile with GTK+3-3.20.x
Summary: gnucash-3.5 fails to compile with GTK+3-3.20.x
Status: RESOLVED FIXED
Alias: None
Product: GnuCash
Classification: Unclassified
Component: General (show other bugs)
Version: 3.5
Hardware: PC Linux
: Normal normal
Target Milestone: ---
Assignee: general
QA Contact: general
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-02 19:40 EDT by lj618
Modified: 2019-04-02 20:30 EDT (History)
3 users (show)

See Also:


Attachments

Description lj618 2019-04-02 19:40:57 EDT
Compiling gnucash-3.5 fails when using Gtk+3-3.20.10. I suspect older gnucash-3.x will also fail, and that it occurs with any Gtk+3-3.20.x.

Error message is:

gnucash/gnome-utils/gnc-cell-renderer-popup.c: In function 'gcrp_grab_on_window':
gnucash/gnome-utils/gnc-cell-renderer-popup.c:243:27: error: 'device' undeclared (first use in this function)
     if ((gdk_device_grab (device, window, GDK_OWNERSHIP_WINDOW, TRUE,


Reason for the failure:

Top of function declares "seat" for GTK >= 3.20.0, else "device" and "Device_manager".

Within the function, "seat" is used for GTK >= 3.22.0 else "device" is used for  lower.

When building with 3.20.x or 3.21.x, "seat" is declared, but "device" is used and undeclared.


Possible fix:

Changing 3 cases of #if GTK_CHECK_VERSION(3,22,0) to #if GTK_CHECK_VERSION(3,20,0) in the above function seems to fix it.
Comment 1 John Ralls 2019-04-02 20:30:09 EDT
Good catch, your analysis is correct.

Fixed in git.

Note You need to log in before you can comment on or make changes to this bug.