8590e33501
PermissionStore's Set() method takes a complete permission table, so when setting an app's permission, we are implicitly removing all previously set entries for other apps. Switch to the SetPermission() method which sets the permission for a single app. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5937 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2504>
32 lines
1.2 KiB
XML
32 lines
1.2 KiB
XML
<node>
|
|
<interface name="org.freedesktop.impl.portal.PermissionStore">
|
|
<method name="Lookup">
|
|
<arg name="table" type="s" direction="in"/>
|
|
<arg name="id" type="s" direction="in"/>
|
|
<arg name="permissions" type="a{sas}" direction="out"/>
|
|
<arg name="data" type="v" direction="out"/>
|
|
</method>
|
|
<method name="Set">
|
|
<arg name="table" type="s" direction="in"/>
|
|
<arg name="create" type="b" direction="in"/>
|
|
<arg name="id" type="s" direction="in"/>
|
|
<arg name="app_permissions" type="a{sas}" direction="in"/>
|
|
<arg name="data" type="v" direction="in"/>
|
|
</method>
|
|
<method name="SetPermission">
|
|
<arg name='table' type='s' direction='in'/>
|
|
<arg name='create' type='b' direction='in'/>
|
|
<arg name='id' type='s' direction='in'/>
|
|
<arg name='app' type='s' direction='in'/>
|
|
<arg name='permissions' type='as' direction='in'/>
|
|
</method>
|
|
<signal name="Changed">
|
|
<arg name="table" type="s" direction="out"/>
|
|
<arg name="id" type="s" direction="out"/>
|
|
<arg name="deleted" type="b" direction="out"/>
|
|
<arg name="data" type="v" direction="out"/>
|
|
<arg name="permissions" type="a{sas}" direction="out"/>
|
|
</signal>
|
|
</interface>
|
|
</node>
|