1. 21 Oct, 2021 4 commits
  2. 20 Oct, 2021 1 commit
  3. 17 Oct, 2021 3 commits
  4. 05 Oct, 2021 3 commits
    • Teemu Ikonen's avatar
      location: Fix gclue_location_set_heading_from_prev_location() · 6cb52bc0
      Teemu Ikonen authored
      gclue_location_set_heading_from_prev_location() uses atan2 to convert
      the movement vector coordinates to a bearing (positive degrees from true
      north, clockwise) which is then used for the "heading" GClueLocation
      property.
      
      The implementation did not change the sign of the atan2 output and had a
      wrong offset, resulting in random looking heading output.
      
      Fix the implementation and improve the comments.
      6cb52bc0
    • Teemu Ikonen's avatar
      location-source: Fix subclass resource leaks on start · 2d1968f8
      Teemu Ikonen authored
      The start_source() and stop_source() functions in GClueLocationSource
      are chained up by all the start() and stop() method implementations in
      GClueLocationSource subclasses to determine when to really start and
      stop the source and allocate / free the needed resources.
      
      Commit 0661107f made start_source() return TRUE when the source was
      already active, which caused the resources already reserved for the
      physical source to be reserved again. The source class implementations
      are typically designed to hold just one set of resources, so the
      references to previously reserved resources are lost, that is they leak.
      An example of this is the GSocketClient reference (priv->client) held by
      GClueNMEASource.
      
      Another visible (in the debug log) example of the extra resources are
      callbacks connected to the "fix-*" signals of the physical sources (see
      gclue_modem_gps_start() for example). With more than one client using
      the same source, all clients receive the same location update N times,
      where N is the number of clients using the source.
      
      Make GClueLocationSource.start() and .stop() methods return enums
      GClueLocationSourceStartResult and GClueLocationSourceStopResult which
      gives subclasses more information on when to allocate resources on
      starting and stopping.
      
      The start_source() function now returns the value
      GCLUE_LOCATION_SOURCE_START_RESULT_ALREADY_STARTED when the source is
      already active. The subclass start() method implementations are changed
      to return immediately when they get this value from the base class.
      
      This effectively reverts the first diff in commit 0661107f
      "location-source: Return source state from start_source and
      stop_source".
      
      The behaviour of stop() method subclass implementations remains the
      same. Freeing of resources is always attempted, except when the value
      GCLUE_LOCATION_SOURCE_STOP_RESULT_STILL_USED is returned from the base
      class.
      2d1968f8
    • Teemu Ikonen's avatar
      web-source: Remove gclue_web_source_start() · d381d0ee
      Teemu Ikonen authored
      This function currently only chains up to the superclass method and
      returns its return value. Removing it results in the same behaviour.
      d381d0ee
  5. 26 Sep, 2021 1 commit
  6. 11 Aug, 2021 1 commit
  7. 01 Jul, 2021 1 commit
  8. 23 Jun, 2021 1 commit
  9. 07 May, 2021 1 commit
    • clayton craft's avatar
      gclue-config: read nmea-socket from config file · e2181627
      clayton craft authored
      This option in the config file was being ignored, so this reads it.
      Since the option is commented out 'by default', it's not a problem if it
      can't be found in the config file (a debug message is printed to that
      effect)
      e2181627
  10. 24 Apr, 2021 1 commit
  11. 21 Apr, 2021 1 commit
  12. 19 Apr, 2021 2 commits
  13. 14 Apr, 2021 3 commits
  14. 10 Apr, 2021 1 commit
  15. 16 Mar, 2021 1 commit
  16. 18 Feb, 2021 1 commit
    • Dan Nicholson's avatar
      wifi,mozilla: Fix maximum SSID length handling · bb0f9930
      Dan Nicholson authored
      An SSID can be 32 bytes but the `MAX_SSID_LEN` macro is used to declare
      the size of the buffers including the nul byte. This causes excessive
      `variant_to_string: assertion 'len < max_len' failed` errors if you
      happen to have a network with a full 32 byte SSID. This can often occur
      for APs that advertise a hidden SSID by setting it to all zeros.
      
      Conversely, the `BSSID_LEN` and `BSSID_STR_LEN` macros were sized to
      include the nul byte. Rework the usages so that the length macros are
      consistently in terms of string length and not buffer length.
      
      Fixes: #135
      bb0f9930
  17. 09 Jan, 2021 2 commits
  18. 04 Jan, 2021 1 commit
  19. 25 Dec, 2020 2 commits
  20. 30 Nov, 2020 1 commit
  21. 21 Nov, 2020 8 commits