1. 16 Apr, 2019 2 commits
    • Simon McVittie's avatar
      ShellApp: Use g_signal_connect_object for window signals · ea642989
      Simon McVittie authored
      A window being unmanaged can cause the ShellApp to be removed from
      the ShellAppSystem, which if we are unlucky is the app's last
      reference, causing it to be disposed and freed. It would be bad if this
      happened before we finished handling the signal.
      
      Use g_signal_connect_object to ensure that a reference is held to
      the ShellApp for the duration of the signal handler, delaying its
      last-unref.
      Signed-off-by: 's avatarSimon McVittie <smcv@debian.org>
      ea642989
    • Simon McVittie's avatar
      ShellApp: Defend against running_state->windows being empty · 4c29ef55
      Simon McVittie authored
      Previously, it was treated as an invariant that whenever
      app->running_state was non-NULL, app->running_state->windows was also
      non-NULL.
      
      However, on #750 and #822, we see that the backtraces for GNOME Shell
      3.30.x contain _shell_app_remove_window() line 1110. In 3.30.x,
      that line is at a point in _shell_app_remove_window() where the
      app->running_state->windows invariant does not hold: window has already
      been removed from app->running_state->windows, but app->running_state
      has not yet been cleared. (The same applies in 3.32.x, but with
      different line numbers.)
      Signed-off-by: 's avatarSimon McVittie <smcv@debian.org>
      Closes: GNOME/gnome-shell#750
      Closes: GNOME/gnome-shell#822
      4c29ef55
  2. 13 Apr, 2019 2 commits
    • Florian Müllner's avatar
      dash: Fix messed up icon height · 4e5ca6d3
      Florian Müllner authored
      When determining the biggest icon size that fits the available height,
      we first subtract the additional space requirements of icons (spacing,
      padding, running indicator etc.) and then divide the result by the
      number of icons to get the maximum size available to each icon texture.
      
      In the above, the additional space requirement of each icon is taken
      from the first icon (as all icons are assumed to be the same), and
      calculated as the difference between the icon button's preferred height
      and the currently used icon size.
      
      To make sure that the icon is actually using the dash's current icon
      size (even while animating to a new icon size), we enforce its height
      during the size request and restore its original height afterwards.
      
      However after some recent changes, that step is causing troubles:
      For some reason, the original height may be 0, and when we restore it,
      we end up forcing a fixed non-height that bypasses the regular size
      request machinery.
      
      While it is unclear where exactly the zero height comes from (maybe
      waiting for a valid resource scale?), it is clear that it's best
      to avoid forcing a fixed height. So instead of making the icon
      texture comply with the assumed icon size, adjust the calculations
      to use its current height request.
      
      GNOME/gnome-shell#1053
      4e5ca6d3
    • Florian Müllner's avatar
      dateMenu: Make clock offsets relative to local time · 2fab75f4
      Florian Müllner authored
      We recently added offsets to world clocks that represent the location's
      timezone as UTC offset. However for most users, that representation is
      overly technical and less helpful than the difference to their local time.
      
      GNOME/gnome-shell#1157
      2fab75f4
  3. 12 Apr, 2019 1 commit
    • Florian Müllner's avatar
      dateMenu: Make sure we always display a clock name · 22883f2f
      Florian Müllner authored
      We currently use the city name for all location except named timezones.
      However locations only have a city name if they are of level CITY or
      DETACHED, or if they are of level WEATHER_STATION with a parent of level
      CITY.
      
      So when libgweather commit d7682676ac9 moved weather station locations from
      cities to countries, it broke their names in the world clocks section.
      
      To fix this, stop making assumptions about when we can use the city name
      and simply try it first for all locations and fall back to the plain name
      if its not available.
      
      GNOME/gnome-shell#1150
      22883f2f
  4. 11 Apr, 2019 16 commits
  5. 08 Apr, 2019 2 commits
  6. 03 Apr, 2019 2 commits
  7. 02 Apr, 2019 3 commits
  8. 01 Apr, 2019 8 commits
  9. 31 Mar, 2019 2 commits
  10. 28 Mar, 2019 1 commit
  11. 27 Mar, 2019 1 commit