1. 09 Apr, 2019 5 commits
  2. 08 Apr, 2019 3 commits
    • Philip Chimento's avatar
      release: Prepare for 1.56.1 · 2b17ce95
      Philip Chimento authored
      2b17ce95
    • Philip Chimento's avatar
      context: Fix gjs_context_eval() for non-zero-terminated strings · 870b1942
      Philip Chimento authored
      Calling gjs_context_eval() with a non-zero-terminated string has
      apparently been broken for quite a long time. I guess nobody ever does
      that.
      
      This is a surprisingly complicated fix for a simple-sounding problem.
      The complication is due to the passed-in strlen being ignored in more
      than one place: both in gjs_strip_unix_shebang() and in the code that
      converts UTF-8 to UTF-16.
      
      In addition, gjs_strip_unix_shebang() would access invalid memory if
      given a 1-length string or a non-zero-terminated string.
      
      We fix the UTF-16 conversion code, and replace gjs_strip_unix_shebang()
      with a safer version using C++ strings (which we have anyway after
      converting to UTF-16.) This new function, gjs_unix_shebang_len(),
      returns the offset that must be added to the string's starting position,
      in order to skip the shebang line.
      
      It would be better in the future to return a std::u16string_view from
      gjs_unix_shebang_len(), but that is not yet available in C++14.
      
      This bug was found by compiling with -Wunused-parameter!
      870b1942
    • Philip Chimento's avatar
      context: Remove lazy flag from evaluated sources · d588f22f
      Philip Chimento authored
      This escaped notice when we removed the lazy flag from all other sources
      in commit b032fda4.
      d588f22f
  3. 27 Mar, 2019 1 commit
  4. 17 Mar, 2019 1 commit
    • Philip Chimento's avatar
      function: Free transfer-full in arguments when function fails · a2f9ea08
      Philip Chimento authored
      If we fail to marshal the arguments and throw an exception before
      calling a gobject-introspected function, or the function itself throws
      a GError exception, then we can assume that any transfer of ownership
      of a (transfer full) or (transfer container) in-argument was not
      completed.
      
      This means that we have to free any storage that would otherwise have
      had its ownership transferred to the function.
      a2f9ea08
  5. 14 Mar, 2019 10 commits
  6. 13 Mar, 2019 1 commit
  7. 12 Mar, 2019 2 commits
  8. 10 Mar, 2019 1 commit
  9. 05 Mar, 2019 7 commits
  10. 04 Mar, 2019 6 commits
    • Chun-wei Fan's avatar
      win32/README.txt: Update SpiderMonkey build instructions · 169e21fc
      Chun-wei Fan authored
      As there are some gotcha's/pitfalls for building SpiderMonkey for use
      with GJS on Windows, note in the README file in win32 telling people
      how:
      
      -They could obtain the SpiderMonkey sources (which is not easy,
       nowadays)
      -They know the flags and envvar's that must be passed into
       SpiderMonkey's configure line for GJS to build and run correctly.
      -That they should not try to link to mozglue.lib at any point during the
       GJS build.
      
      Fixes issue #228
      169e21fc
    • Chun-wei Fan's avatar
      Visual Studio builds: Refine things a bit · 5a5d8eb4
      Chun-wei Fan authored
      Use separate output directories for different Visual Studio versions,
      and ensure that we do indeed wipe out the vcxxx.pdb files and the object
      directories upon clean.  Make the compiler generate vcxxx.pdb files
      under the respective intermediate object directories as far as possible.
      
      Also avoid polluting the source tree during the build by copying
      config.h.win32 to libgjs' intermediate directory and also create
      generate the filelist for introspection in libgjs' intermediate
      directory.
      5a5d8eb4
    • Chun-wei Fan's avatar
      win32/NMake: Require Visual Studio 2017 15.6 or later · e3492ffd
      Chun-wei Fan authored
      The code, in addition to SpiderMonkey 60, requires C++-14 features that
      are supported in Visual Studio 2017 or later, plus we need to use the
      /Zc:externConstexpr compiler flag, which is provided in Visual Studio 2017
      15.6.x or later, so update the NMake Makefiles to check for that.
      e3492ffd
    • Philip Chimento's avatar
      CI: Remove "Total errors found" line from cpplint output · b1b9f3b9
      Philip Chimento authored
      The newly built Docker image must have gotten a newer version of cpplint
      which prints a total error count at the end. We need to remove this line
      or the error counts will be flagged as a diff in the linter output.
      b1b9f3b9
    • Philip Chimento's avatar
      gi: Initialize pointer members of wrapper classes · 6c00884d
      Philip Chimento authored
      Cppcheck is newly complaining about this, perhaps because of the changes
      to the `friend class` declarations.
      6c00884d
    • Chun-wei Fan's avatar
      gjs: Work around Visual Studio 2017 bug · c455da15
      Chun-wei Fan authored
      It is known that codecvt_utf8_utf16 does not work when converting to
      char16_t because the symbols are somehow missing from the C++ runtime
      .lib.  So, we use the Windows APIs to do that for us, and use the
      Windows-specific std::u16string constructor using the wstring that we
      obtain using the Windows APIs.
      
      See: https://social.msdn.microsoft.com/Forums/en-US/8f40dcd8-c67f-4eba-9134-a19b9178e481/vs-2015-rc-linker-stdcodecvt-error?forum=vcgeneral
      c455da15
  11. 03 Mar, 2019 3 commits