)]}'
{
  "commit": "5d5390e6c19e5ecdd9564e7cd0fb5dfaf17ef726",
  "tree": "501caa04e6a4b83737e500e56df266c031768ca0",
  "parents": [
    "49b3271e6bdee8c3f746bb32b07f8e831b0d5d83"
  ],
  "author": {
    "name": "Thomas Haller",
    "email": "thaller@redhat.com",
    "time": "Fri Feb 28 11:50:41 2025 +0100"
  },
  "committer": {
    "name": "Thomas Haller",
    "email": "thaller@redhat.com",
    "time": "Fri Feb 28 15:01:14 2025 +0100"
  },
  "message": "gobject: don\u0027t allow setting constuct-only property via g_object_set*()\n\nThe function g_object_set_is_valid_property() has two callers, which in\nturn have the following callers:\n\n  - g_object_setv()\n    - g_object_set_property()\n  - g_object_set_valist()\n    - g_object_set()\n\nAll these functions are public API, but they are never directly called\nby \"gobject.c\". This means, during construction of an object, GObject\nitself does not call any of these functions.\n\nNote that you can image cases, where the user obtains a pointer to an\nobject under construction and calls a property setter function again.\nHowever, at that point, I don\u0027t think they are allowed to reset a\nconstruct-only property. Construct-only properties must only be\nspecified during g_object_new() (etc.).\n\nHence, this check for whether we are in construction is unnecessary and\nwrong. You also cannot use the public property setter functions to set a\nconstruct-only property even if the object is still under construction.\n\nThis changes behavior since aa63f7e3739e (\u0027fix g_object_set() whithin\n_init() implementations not working for\u0027).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "50d929ba446003fe7b9b83c7436ef5f67c7976ba",
      "old_mode": 33188,
      "old_path": "gobject/gobject.c",
      "new_id": "0fa83469170db32fd36c08690f7968d9c1bf93d1",
      "new_mode": 33188,
      "new_path": "gobject/gobject.c"
    }
  ]
}
