Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
vala
vala
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 703
    • Issues 703
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 38
    • Merge Requests 38
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • External Wiki
    • External Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • GNOME
  • valavala
  • Issues
  • #1054

Closed
Open
Opened Aug 04, 2020 by Jonathan Moerman@JMoerman

gio-2.0.vapi contains bad bindings for GLib.SettingsBackend

The definitions for SettingsBackend are included in gio/gsettingsbackend.h while gio-2.0.vapi contains:

[CCode (cheader_filename = "gio/gio.h", type_id = "g_settings_backend_get_type ()")]
public abstract class SettingsBackend : GLib.Object {
...
}

gio/gio.h does not cause gio/gsettingsbackend.h to be included. With the current bindings the C compiler outputs warnings like implicit declaration of function ‘g_keyfile_settings_backend_new’; did you mean ‘some_other_function’? and generated code causes segfaults. Replacing all gio/gio.h occurences with gio/gsettingsbackend.h here fixes this issue. Also see https://developer.gnome.org/gio/stable/GSettingsBackend.html

edit: just replacing gio/gio.h occurences with gio/gsettingsbackend.h for SettingsBackend isn't a good solution as gio/gsettingsbackend.h then also gets included even when none of the functions of SettingsBackend get used.

Edited Aug 04, 2020 by Jonathan Moerman
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
0.50
Milestone
0.50 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: GNOME/vala#1054