1. 06 Aug, 2020 2 commits
  2. 06 Jul, 2020 2 commits
    • Emmanuele Bassi's avatar
      Merge branch 'backport-1563-desktop-app-info-leak-glib-2-64' into 'glib-2-64' · d2a232ae
      Emmanuele Bassi authored
      Backport !1563 “gdesktopappinfo: Fix unnecessarily copied and leaked URI list” to glib-2-64
      
      See merge request !1565
      d2a232ae
    • Felix Riemann's avatar
      gdesktopappinfo: Fix unnecessarily copied and leaked URI list · 47cdc8e3
      Felix Riemann authored
      When an app is spawned using g_desktop_app_info_launch_uris_with_spawn
      it will expand the various token in the app's commandline with the
      URIs of the files to open. The expand_macro() function that is used for
      this advances the pointer to the URI list to show up to which entries
      it used.
      
      To not loose the pointer to the list head a duplicate of the URI list
      was actually passed to expand_macro(). However, it's not necessary to
      create a copy of the URI list for that as expand_macro() will only
      change which element the pointer will point to.
      
      This behaviour actually caused the duplicated list to be leaked as the
      the list pointer is NULL once all URIs are used up by expand_macro()
      and thus nothing was freed at the end of the function.
      47cdc8e3
  3. 02 Jul, 2020 3 commits
  4. 25 Jun, 2020 1 commit
  5. 24 Jun, 2020 10 commits
  6. 22 Jun, 2020 1 commit
  7. 09 Jun, 2020 1 commit
  8. 08 Jun, 2020 1 commit
  9. 05 Jun, 2020 2 commits
    • LRN's avatar
      GWin32RegistryKey: Move assertions · 98570e2d
      LRN authored
      While these assertions look right at the first glance,
      they actually crash the program. That's because GObject
      insists on initializing all construct-only properties
      to their default values, which results in
      g_win32_registry_key_set_property() being called multiple
      times with NULL string, once for each unset property.
      
      If "path" is actually set by the caller, a subsequent
      call to set "path-utf16" to NULL will fail an assertion,
      since absolute_path is already non-NULL.
      
      With assertions moved the set-to-NULL calls bail out before
      an assertion is made.
      98570e2d
    • Chun-wei Fan's avatar
      glib-compile-resources: Fix exporting on Visual Studio · e56a2865
      Chun-wei Fan authored
      Have the generated .c code decorate the prototypes with "G_MODULE_EXPORT"
      instead of "extern" when --internal is not being used, so that we also
      export the symbols from the generated code on Visual Studio-style
      compilers.  If --internal is used, we decorate the prototypes with
      "G_GNUC_INTERNAL", as we did before.
      
      Note that since the generated .c code does not attempt to include the
      generated headers (if one is also generated), the gnerated headers are
      still generated as they were before.
      e56a2865
  10. 22 May, 2020 2 commits
  11. 20 May, 2020 1 commit
  12. 19 May, 2020 4 commits
  13. 17 May, 2020 3 commits
  14. 14 May, 2020 4 commits
  15. 07 May, 2020 3 commits
    • Simon Marchi's avatar
      gthread: ignore deprecated declarations in static inline functions · 5ee80104
      Simon Marchi authored
      With a trivial file that just includes glib.h:
      
          #include <glib.h>
      
      Compiled with:
      
          gcc -c test.c \
            -I /tmp/glib/include/glib-2.0/ \
            -I /tmp/glib/lib/x86_64-linux-gnu/glib-2.0/include \
            -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 \
            -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28 \
            -fmax-errors=1 \
            -Werror
      
      We get:
      
          In file included from /tmp/glib/include/glib-2.0/glib/gasyncqueue.h:32,
                           from /tmp/glib/include/glib-2.0/glib.h:32,
                           from test.c:1:
          /tmp/glib/include/glib-2.0/glib/gthread.h: In function ‘g_rec_mutex_locker_new’:
          /tmp/glib/include/glib-2.0/glib/gthread.h:396:3: error: ‘g_rec_mutex_lock’ is deprecated: Not available before 2.32 [-Werror=deprecated-declarations]
            396 |   g_rec_mutex_lock (rec_mutex);
                |   ^~~~~~~~~~~~~~~~
          /tmp/glib/include/glib-2.0/glib/gthread.h:196:17: note: declared here
            196 | void            g_rec_mutex_lock                (GRecMutex      *rec_mutex);
                |                 ^~~~~~~~~~~~~~~~
          compilation terminated due to -fmax-errors=1.
      
      The problem is that the code in the static inline functions uses
      g_rec_mutex_lock, introduced after 2.28.  This code is compiled
      regardless of if it's actually used or not.
      
      Suppress the warning by using G_GNUC_BEGIN_IGNORE_DEPRECATIONS /
      G_GNUC_END_IGNORE_DEPRECATIONS.  There are precedents for doing that,
      for example g_main_context_pusher_new in gmain.h.
      
      Tested by building with all variations of GLIB_VERSION_MIN_REQUIRED /
      GLIB_VERSION_MAX_ALLOWED:
      
          for i in $(seq 26 2 64); do
            gcc -c test.c \
              -I/tmp/glib/include/glib-2.0 \
              -I/tmp/glib/lib/x86_64-linux-gnu/glib-2.0/include \
              -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_$i \
              -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_$i \
              -fmax-errors=1 \
              -Werror
          done
      
      Fixes: #2094
      5ee80104
    • Christoph Reiter's avatar
      Merge branch 'backport-1480-msys2-ci-fix-glib-2-64' into 'glib-2-64' · b715f753
      Christoph Reiter authored
      Backport !1480 “CI: Make sure we use meson 0.49.2 in MSYS2” to glib-2-64
      
      See merge request !1484
      b715f753
    • Christoph Reiter's avatar
      CI: Make sure we use meson 0.49.2 in MSYS2 · 857a9183
      Christoph Reiter authored
      pip in MSYS2 seems to install scripts into $USERPROFILE instead of $HOME
      which means the MSYS2 meson, which is newer, wins. Make sure $USERPROFILE
      is in PATH as well.
      857a9183