1. 05 Mar, 2019 1 commit
    • Chun-wei Fan's avatar
      NMake/libgjs-private: Export all the public symbols there · 2089d724
      Chun-wei Fan authored
      It seems that since GjsPrivate-1.0.[gir|typelib] refers to APIs from
      there, we ought to export those as well for the Visual Studio builds via
      GJS_EXPORT, so that they can be loaded by the girepository DLL.
      
      It turns out that this portion of the code used to be a DLL/.so of its own,
      so it also makes sense to export these so that they are available from
      gjs.lib as well.
      2089d724
  2. 03 Mar, 2019 1 commit
  3. 28 Jan, 2019 2 commits
    • Philip Chimento's avatar
      overrides: Allow DBus methods with file descriptor lists · a13bb7a0
      Philip Chimento authored
      For DBus proxies, we now allow calling methods with an extra
      Gio.UnixFDList argument. This does not break existing code because we
      already allowed a bunch of arguments in any order. Gio.DBusProxy.call()
      is the same under the hood as Gio.DBusProxy.call_with_unix_fd_list(),
      only with a null FD list parameter, so we can replace the former with
      the latter.
      
      Previously, synchronously called DBus proxy methods would return an
      unpacked GVariant. Now, if called with a Gio.UnixFDList they will return
      [unpacked GVariant, FDList]. This also does not break existing code
      because it was not possible to call a method with an FDList before, and
      the return value is unchanged if not calling with an FDList. This does
      mean, unfortunately, that if you have a method with an 'h' in its return
      signature but not in its argument signatures, you will have to call it
      with an empty FDList in order to receive an FDList with the return
      value, if calling synchronously.
      
      On the DBus service side, when receiving a method call, we now pass the
      FDList received from DBus to the called method. Previously, sync methods
      were passed the parameters, and async methods were passed the parameters
      plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to
      those parameters also should not break existing code, although it could
      if the method examines the number of arguments. (That is unlikely, since
      DBus doesn't have methods with variable arguments.)
      
      TODO: Check whether this works on non-Unix platforms.
      
      Closes #204.
      a13bb7a0
    • Philip Chimento's avatar
      GjsPrivate: Sources should be C files · e1c96788
      Philip Chimento authored
      The GjsPrivate library doesn't use any SpiderMonkey code, only C APIs.
      So the files should be compiled with a C compiler, otherwise we get
      C++'s stricter typechecks, making it hard to use void* APIs such as
      g_steal_pointer().
      
      [skip cpplint] - This shows a diff in the linter output because the
      files were renamed.
      e1c96788
  4. 18 Jun, 2018 1 commit
  5. 04 Feb, 2018 1 commit
  6. 03 Feb, 2017 1 commit
  7. 22 Oct, 2016 1 commit
    • Philip Chimento's avatar
      build: Test for %Id as alternate integer output · be2cf989
      Philip Chimento authored
      %Id is a glibc extension. The "I" character is used elsewhere in other
      extensions too. For example, %I is a Microsoft extension for printing
      size_t. Although undocumented on Darwin, that platform's libc emulates
      the Microsoft extension.
      
      If %I is interpreted as size_t, then the code is likely to crash on
      platforms where int and size_t are different widths, such as 64-bit OSX.
      
      This adds a configure-time check for %Id. When it's not supported, then
      the provided sample program will error out when compiled with -Werror. If
      not supported then we simply print %d since I don't believe the
      alternative representation flag has any other equivalent on other
      platforms.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=773297
      be2cf989
  8. 28 Sep, 2016 1 commit
    • Philip Chimento's avatar
      js: Prefer bool to gboolean · ea52a3dc
      Philip Chimento authored
      Since we removed JSBool, JS_TRUE, and JS_FALSE in the previous commit, we
      now also make usage of gboolean, TRUE, and FALSE consistent. In some
      places, JSBool and gboolean were used interchangeably. Here, we take the
      approach of using C++ bool, true, and false everywhere, except when
      required by the API, e.g. for the return type of idle functions.
      
      In a few instances, TRUE and FALSE were used in comments in JS code; here
      we change those to true and false to avoid confusion.
      
      Fixes a few formatting glitches in lines of code that were touched
      anyway.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=742249
      ea52a3dc
  9. 22 Sep, 2015 1 commit
  10. 31 Jul, 2015 1 commit
  11. 09 Oct, 2014 1 commit
  12. 10 Apr, 2014 2 commits
  13. 04 Mar, 2014 1 commit
  14. 10 Jan, 2014 1 commit
  15. 29 Oct, 2013 2 commits
  16. 18 Jan, 2013 1 commit
  17. 05 Nov, 2012 1 commit