-
Notifications
You must be signed in to change notification settings - Fork 44
portal: Include settings.h header
#199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
34339b6 to
13d7f2e
Compare
|
It's a bit naff, to be honest. I don't understand why there isn't a single header include for libportal, just like every other C library that depends on GLib. Single header inclusion makes it possible to move type declarations around without breaking source compatibility. |
There is, If fixing this is going to require a libportal source-code change anyway, probably including all of the libportal core headers in (but not the GTK and Qt addons, those need to stay separate!) |
It sounds like you're implicitly reporting a bug. What is the bug? It's usually better to describe the bug than making maintainers reverse-engineer it from a proposed fix, particularly in projects that are limited by maintainer bandwidth. Presumably something like this:
|
True, sorry |
Demonstrate bug for flatpak/libportal#199
Yes, it's pretty much that. I also wrote a reproducer in this commit: TheEvilSkeleton/Settings-Not-Included@8eb0714 |
|
OK, thanks for the reproducer. I think that confirms my belief that a better fix for this would be to add Are there any other public headers that are not included in |
Not that I'm aware of, no |
13d7f2e to
6ef48ed
Compare
settings.h header
|
What do we do with failed CIs? |
In this case? Fix the bug and try again. The build failure seems to be that Renaming the parameter name, perhaps to |
6ef48ed to
0e7edea
Compare
`namespace` is reserved in C++, which causes it to break the Qt test app. This will be useful in the next commit, which will expose `settings.h`.
0e7edea to
ae033d8
Compare
Admittedly, it took me a good 30 minutes to understand why I couldn't use the instance methods for
Xdp.Settings, which required me to dig through libportal's source code and realize that these methods aren't part oflibportal/portal.h. The solution is to simply includelibportal/settings.h.#include <libportal/portal.h>(only) and try to call instance methods onXdpSettingssettings.hwasn't includedI also wrote a small reproducer: TheEvilSkeleton/Settings-Not-Included@8eb0714