1. 10 Feb, 2020 3 commits
  2. 09 Feb, 2020 3 commits
  3. 08 Feb, 2020 1 commit
  4. 06 Feb, 2020 1 commit
  5. 05 Feb, 2020 2 commits
  6. 04 Feb, 2020 2 commits
  7. 02 Feb, 2020 1 commit
  8. 01 Feb, 2020 2 commits
  9. 31 Jan, 2020 2 commits
  10. 30 Jan, 2020 2 commits
  11. 29 Jan, 2020 2 commits
  12. 28 Jan, 2020 1 commit
  13. 27 Jan, 2020 3 commits
  14. 26 Jan, 2020 1 commit
  15. 25 Jan, 2020 1 commit
  16. 24 Jan, 2020 1 commit
  17. 23 Jan, 2020 8 commits
    • Matthias Clasen's avatar
      Merge branch 'fix-avahi_service_resolver_cb-crash' into 'gtk-3-24' · ed9825e8
      Matthias Clasen authored
      printing: Fix crash in avahi_service_resolver_cb
      
      See merge request GNOME/gtk!1346
      ed9825e8
    • Olivier Fourdan's avatar
      gtksettings: Remove display from cache on closing · b1d55f2c
      Olivier Fourdan authored
      GTK caches the settings per display in a static `GArray`, keeping a
      reference to the `GdkDisplay` as the key.
      
      However, when closing the display, the corresponding entry is not
      removed from the cache in `GtkSettings`.
      
      So when reopening again a `GdkDisplay`, if the new address matches one
      of the previously closed display, the cache will return the existing
      `GtkSettings` from the cache, which still holds a reference to the old
      `GdkScreen` which was freed along the `GdkDisplay`.
      
      To avoid the issue, make sure to remove the `GdkDisplay` and
      corresponding `GdkSettings` when closing the `GdkDisplay`.
      
      Also, care must be taken not to recreate the `GdkSettings` and re-add
      the `GdkDisplay` to the cache once the display is closed, and make sure
      callers of `gtk_settings_get_for_display()` can deal with a returned
      value being `NULL` if the display is closed.
      
      Fixes: commit 360a3c16 - "Use a cheaper way to store settings per
      display"
      b1d55f2c
    • Olivier Fourdan's avatar
      gdk/wayland: Fix gdk_window_impl_wayland_finalize() warnings · c9601f15
      Olivier Fourdan authored
      On Wayland, opening and closing a `GdkDisplay` generates a coupe of
      warnings at runtime:
      
      ```
        GLib-GObject-WARNING **:
          invalid cast from 'GdkWindowImplWayland' to 'GdkWindow'
        GLib-GObject-WARNING **:
          invalid cast from 'GdkWaylandWindow' to 'GdkWindowImplWayland'
      ```
      
      This is from `gdk_window_impl_wayland_finalize()` which tries to cast
      the given GObject to a `GdkWindow` while it's a `GdkWindowImplWayland`.
      
      Use the correct type casting of objects to avoid the warnings.
      c9601f15
    • WGH's avatar
      printing: Fix crash in avahi_service_resolver_cb · 3d5f083b
      WGH authored
      printer_name_compressed_strv is NULL-terminated array
      of gchar*, which means N+1 memory should be allocated.
      
      Otherwise, if the printer name has no empty components
      (which is usually the case), printer_name_compressed_strv[N],
      which should contain the NULL sentinel, will actually lie
      just outside of allocated memory, which is UB.
      
      In my case, it led to crashes inside g_strjoinv
      when Print... dialog is opened in evince.
      
          #0  0x00007fad2ce1bad7 in __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:96
          #1  0x00007fad2d04d88d in g_strjoinv (separator=separator@entry=0x7fad0c9bc508 "-", str_array=str_array@entry=0x556b017f0200) at ../glib-2.60.7/glib/gstrfuncs.c:2585
          #2  0x00007fad0c9b8a89 in avahi_service_resolver_cb (source_object=<optimized out>, res=<optimized out>, user_data=0x7fad08020ee0) at /var/tmp/portage/x11-libs/gtk+-3.24.13/work/gtk+-3.24.13/modules/printbackends/cups/gtkprintbackendcups.c:3223
          #3  0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8b00 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
          #4  0x00007fad2d1f987d in g_task_return (task=0x556b017a8b00 [GTask], type=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1278
          #5  0x00007fad2d1f9dec in g_task_return (type=G_TASK_RETURN_SUCCESS, task=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1678
          #6  0x00007fad2d1f9dec in g_task_return_pointer (task=<optimized out>, result=<optimized out>, result_destroy=<optimized out>) at ../glib-2.60.7/gio/gtask.c:1683
          #7  0x00007fad2d24b6af in g_dbus_connection_call_done (source=<optimized out>, result=0x556b017a8bc0, user_data=0x556b017a8b00) at ../glib-2.60.7/gio/gdbusconnection.c:5747
          #8  0x00007fad2d1f8ed3 in g_task_return_now (task=0x556b017a8bc0 [GTask]) at ../glib-2.60.7/gio/gtask.c:1209
          #9  0x00007fad2d1f8f09 in complete_in_idle_cb (task=0x556b017a8bc0) at ../glib-2.60.7/gio/gtask.c:1223
          #10 0x00007fad2d02d2c0 in g_main_dispatch (context=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3189
          #11 0x00007fad2d02d2c0 in g_main_context_dispatch (context=context@entry=0x556b00eee090) at ../glib-2.60.7/glib/gmain.c:3854
          #12 0x00007fad2d02d658 in g_main_context_iterate (context=context@entry=0x556b00eee090, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.60.7/glib/gmain.c:3927
          #13 0x00007fad2d02d6df in g_main_context_iteration (context=context@entry=0x556b00eee090, may_block=may_block@entry=1) at ../glib-2.60.7/glib/gmain.c:3988
          #14 0x00007fad2d22248d in g_application_run (application=0x556b0116f130 [EvApplication], argc=<optimized out>, argv=<optimized out>) at ../glib-2.60.7/gio/gapplication.c:2519
          #15 0x0000556b002e55a1 in  ()
          #16 0x00007fad2ccd6f1b in __libc_start_main (main=0x556b002e50d0, argc=2, argv=0x7ffe1057fa88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe1057fa78) at ../csu/libc-start.c:308
          #17 0x0000556b002e567a in  ()
      
          (gdb) p printer_name_compressed_strv[0]
          $4 = (gchar *) 0x556d4a4be430 "Brother"
          (gdb) p printer_name_compressed_strv[1]
          $5 = (gchar *) 0x7f9dbc011090 "MFC"
          (gdb) p printer_name_compressed_strv[2]
          $6 = (gchar *) 0x556d4a51ba50 "7860DW"
          (gdb) p printer_name_compressed_strv[3]
          $7 = (gchar *) 0x401 <error: Cannot access memory at address 0x401>
      3d5f083b
    • John Ralls's avatar
    • John Ralls's avatar
      c3deff17
    • John Ralls's avatar
      Ensure that GtkDragDestSite is inited to 0. · 44c033cc
      John Ralls authored
      44c033cc
    • John Ralls's avatar
      Handle NSException from removeItemAtIndex. · 81c42faa
      John Ralls authored
      81c42faa
  18. 22 Jan, 2020 4 commits