VirtualBox

Changeset 96868 in vbox for trunk


Ignore:
Timestamp:
Sep 26, 2022 2:51:49 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
153775
Message:

Additions: Linux: Gnome3 helper: mark mode as 'is-current' and as 'is-preferred' when setting primary display, bugref:10134.
-This line, and those below, will be ignored--

M display-helper-gnome3.cpp

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/x11/VBoxClient/display-helper-gnome3.cpp

    r96407 r96868  
    577577
    578578/**
     579 * Add dictionary element with boolean value into an array.
     580 *
     581 * @return  True on success, False otherwise.
     582 * @param   parent_iter         Array to add dictionary element into.
     583 * @param   key                 Dictionary key.
     584 * @param   value               Boolean value for given key.
     585 
     586 */
     587static dbus_bool_t vbcl_hlp_gnome3_add_dict_bool_entry(
     588    DBusMessageIter *parent_iter, const char *key, const dbus_bool_t value)
     589{
     590    dbus_bool_t ret = true;
     591
     592    DBusMessageIter sub_iter_key;
     593    DBusMessageIter sub_iter_value;
     594
     595    RT_ZERO(sub_iter_key);
     596    RT_ZERO(sub_iter_value);
     597
     598    /* Should be TRUE in order to satisfy VBCL_HLP_GNOME3_NEXT() requirements. */
     599    AssertReturn(ret, false);
     600
     601    VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(parent_iter, DBUS_TYPE_DICT_ENTRY, NULL, &sub_iter_key));
     602    {
     603        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter_key, DBUS_TYPE_STRING, &key));
     604
     605        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(&sub_iter_key, ((int) 'v'), "b", &sub_iter_value));
     606        {
     607            VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter_value, DBUS_TYPE_BOOLEAN, &value));
     608        }
     609
     610        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(&sub_iter_key, &sub_iter_value));
     611    }
     612    VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(parent_iter, &sub_iter_key));
     613
     614    return ret;
     615}
     616
     617/**
    579618 * This function is responsible for gathering current display
    580619 * information (via its helper functions), compose a payload
     
    672711        DBusMessageIter  sub_iter0;
    673712        DBusMessageIter  sub_iter1;
     713        DBusMessageIter  sub_iter2;
    674714        DBusMessageIter  sub_iter3;
    675         DBusMessageIter  sub_iter2;
    676715        /* Important for error handling code path when dbus_message_iter_abandon_container_if_open() is in place. */
    677716        RT_ZERO(sub_iter0);
     
    706745                        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_append_basic(&sub_iter2, DBUS_TYPE_STRING, &physical_monitors_state[iLogicalMonitor].mode));
    707746
    708                         /* Compose part (uu@a(iiduba(ss > a{sv} < ))@a{sv}) of (uu@a(iiduba(ssa{sv}))@a{sv}) (empty dictionary). */
     747                        /* Compose part (uu@a(iiduba(ss > a{sv} < ))@a{sv}) of (uu@a(iiduba(ssa{sv}))@a{sv}). */
    709748                        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_open_container(&sub_iter2, DBUS_TYPE_ARRAY, "{sv}", &sub_iter3));
     749                        VBCL_HLP_GNOME3_NEXT(ret, vbcl_hlp_gnome3_add_dict_bool_entry(&sub_iter3, "is-current", true));
     750                        VBCL_HLP_GNOME3_NEXT(ret, vbcl_hlp_gnome3_add_dict_bool_entry(&sub_iter3, "is-preferred", true));
    710751                        VBCL_HLP_GNOME3_NEXT(ret, dbus_message_iter_close_container(&sub_iter2, &sub_iter3));
    711752                    }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette