1. 17 Apr, 2015 1 commit
    • Chun-wei Fan's avatar
      build/Makfile-newvs.am: Use Pattern Rules · 68bb63e3
      Chun-wei Fan authored
      Make use of pattern rules when generating the Visual Studio 2012/2013
      Projects from the Visual Studio 2010 projects, which will help to clean up
      the file and also avoid problems when running items like 'make -jN dist'.
      68bb63e3
  2. 16 Apr, 2015 1 commit
  3. 13 Apr, 2015 1 commit
  4. 09 Apr, 2015 4 commits
    • Matthias Clasen's avatar
      gdbus: Validate the --dest argument · 21107959
      Matthias Clasen authored
      Passing an nonsense string for the --dest argument can lead
      to a segfault of gdbus. Thats not nice, so use our existing
      validation function for bus names here.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=747541
      21107959
    • Allison Karlitskaya's avatar
      gsettings: add test for repeated <summary> errors · 3fa0a051
      Allison Karlitskaya authored
      Make sure error handling on repeated <summary> and <description> is
      being done properly, not resulting in glib-compile-schemas throwing a
      critical.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=747542
      3fa0a051
    • Allison Karlitskaya's avatar
      gsettings: fix schema compiler error handling · 7f4fdb59
      Allison Karlitskaya authored
      Fix a couple of issues in error handling in glib-compile-schemas.
      
      The first problem is that, in case of repeated <summary> or
      <description> tags we were still allocating a GString which was never
      being freed (due to the throwing of the error resulting in immediate
      termination of the parse).
      
      The second problem is that if the repeated <summary> tag also had
      attributes, we would attempt to set the GError twice.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=747542
      7f4fdb59
    • Allison Karlitskaya's avatar
      gsettings: stay compatible with installed schemas · 2b8f1315
      Allison Karlitskaya authored
      Bug 747209 introduced an error when multiple <summary> or <description>
      tags are found for a single key in a GSettings schema.  This check
      should have been present from the start, but it was left out because the
      schema compiler doesn't include these items in the cache file.  Even
      still -- part of the schema compiler's job is validation, and it should
      be enforcing proper syntax here.
      
      Repeated <summary> and <description> tags are a semi-common problem when
      intltool has been misconfigured in the build system of a package, but
      it's possible to imagine mistakes being made by hand as well.
      
      The idea is that these problems would be caught during the build of a
      package and maintainers would be forced to fix their build systems.
      
      An unintended side-effect of this change, however, is that the schema
      compiler started ignoring already-installed schemas that contained these
      problems, when rebuilding the cache.  This means that the installation
      of _any_ application would cause the regeneration of the entire cache,
      with these already-installed applications being excluded.  Without the
      schema in the cache, the application would crash on next startup.
      
      The validation check in the gsettings m4 macro passes --strict to the
      compiler, which is not used when rebuilding the cache after
      installation.  Pass this flag down into the parser and only throw the
      error in case --strict was given.  This will result in the (desired)
      build failure without also causing already-installed apps to stop
      functioning.
      
      This means that we will not get even a warning about the invalid schema
      file in the already-installed case, but that's fine.  There is no sense
      spamming the user with these messages when they are already quite fatal
      for the developer at build time.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=747472
      2b8f1315
  5. 08 Apr, 2015 1 commit
  6. 07 Apr, 2015 4 commits
  7. 06 Apr, 2015 2 commits
    • Dan Winship's avatar
      gdbus: fix deadlock on message cancel/timeout · 7e8d4145
      Dan Winship authored
      The gdbus GTask port introduced a deadlock because some code had been
      using g_simple_async_result_complete_in_idle() to ensure that the
      callback didn't run until after a mutex was unlocked, but in the gtask
      version, the callback was being run immediately. Fix it to drop the
      mutex before calling g_task_return*(). Also, tweak
      tests/gdbus-connection to test this.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=747349
      7e8d4145
    • Ross Lagerwall's avatar
      tls: Add support for copying session data · 95d300ea
      Ross Lagerwall authored
      Add support for copying session data between client connections.
      This is needed for implementing FTP over SSL. Most servers use a separate
      session for each control connection and enforce sharing of each control
      connection's session between the related data connection.
      
      Copying session data between two connections is needed for two reasons:
      1) The data connection runs on a separate port and so has a different
      server_identity which means it would not normally share the session with
      the control connection using the session caching currently implemented.
      2) It is typical to have multiple control connections, each of which
      uses a different session with the same server_identity, so only one of
      these sessions gets stored in the cache. If a data connection is opened,
      (ignoring the port issue) it may try and reuse the wrong control
      connection's session, and fail.
      
      This operation is conceptually the same as OpenSSL's SSL_copy_session_id
      operation.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=745255
      95d300ea
  8. 05 Apr, 2015 1 commit
  9. 04 Apr, 2015 5 commits
  10. 01 Apr, 2015 1 commit
  11. 30 Mar, 2015 1 commit
  12. 29 Mar, 2015 2 commits
  13. 26 Mar, 2015 2 commits
  14. 25 Mar, 2015 2 commits
    • Allison Karlitskaya's avatar
      GListModel: roll back use of type redefinition · 4a292721
      Allison Karlitskaya authored
      We declare the typedefs for GListModel and GListStore in giotypes.h, as
      a matter of convention.  This is not actually required, since the
      typedef is emitted as part of the G_DECLARE_* macros.
      
      The giotypes.h approach is only used to avoid cyclic dependencies
      between headers, which is not a problem in this case.
      
      Type redefinition is a C11 feature, and although it was around in some
      compilers before then, gcc 4.2.1 (from 2007) is apparently still in wide
      use, being the default compiler for OpenBSD.
      
      Eventually, we will probably hit a case where we actually need to
      redefine a type, but since we're not there yet, let's back off a bit.
      4a292721
    • Petr Kovář's avatar
      Update Czech translation · 3f36407d
      Petr Kovář authored
      3f36407d
  15. 23 Mar, 2015 1 commit
    • Allison Karlitskaya's avatar
      GClosure: add valgrind hints · 69fd1fd1
      Allison Karlitskaya authored
      GClosure has been in the "allocate area before the pointer" game since
      before we did this with GTypeInstance.  At the time that this was done
      for GClosure, we didn't have valgrind.h in GLib.
      
      Now that we do, we should add similar valgrind hints as the ones we did
      for GTypeInstance.  This substantially reduces reports of "possibly
      lost" on pretty much any program that makes use of signals.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=739850
      69fd1fd1
  16. 22 Mar, 2015 3 commits
  17. 21 Mar, 2015 5 commits
  18. 20 Mar, 2015 3 commits
    • Allison Karlitskaya's avatar
      gmain: Save errno when handling unix signals · 7c70377a
      Allison Karlitskaya authored
      Our signal handler calls write() on a pipe or an eventfd in order to
      deliver the notification.  It's unlikely, but this could fail, setting
      errno.  We even check the case that it fails with EINTR.
      
      If it does set errno, then it has potentially blown away the value or
      errno that the preempted code cared about (ie: if the signal arrived
      shortly after a system call but before errno was checked).
      
      Wrap the handler with code to save errno.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=741791
      7c70377a
    • Chun-wei Fan's avatar
      Win32: Port Directory Monitoring to New GLocalFileMonitor · 671292bb
      Chun-wei Fan authored
      This WIP patch moves the Windows Directory Monitoring code to the new
      GLocalFileMonitor mechanism, and adds file monitoring in the process.
      
      Progress from previous patch:
      -File renames are now properly supported, but G_FILE_MONITOR_EVENT_MOVED_IN
       and G_FILE_MONITOR_EVENT_MOVED_OUT needs to be investigated, as
       ReadDirectoryChangesW() seems to send FILE_ACTION_REMOVED when a file is
       moved out of a directory.
      -Events are handled for both the long and short (8.3) variants of the
       filenames, and files monitored will report changes when it is changed
       via its short or long filenames.
      
      Things to be done:
      -Perhaps find out about attribute changes in files in a monitored
       directory; if a file is monitored, attribute changes are correctly
       handled.
      -Investigate on G_FILE_MONITOR_EVENT_MOVED_OUT,
       G_FILE_MONITOR_EVENT_MOVED_IN, G_FILE_MONITOR_EVENT_PRE_UNMOUNT,
       G_FILE_MONITOR_EVENT_UNMOUNTED.
      -Investigate on the "boredom" algoritm, and see how we can do it on
       Windows.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=730116
      671292bb
    • Allison Karlitskaya's avatar
      file monitors: rewrite FAM file monitor · d682df18
      Allison Karlitskaya authored
      Completely rewrite the FAM file monitor.  Major changes:
      
       - now runs in the worker thread
      
       - dispatches events in a threadsafe way via GFileMonitorSource
      
       - uses unix fd source instead of a GIOChannel
      
       - is now simple enough to fit into one short file
      d682df18