After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 766966 - showtwell-0.23.1: provide man page
showtwell-0.23.1: provide man page
Status: RESOLVED DUPLICATE of bug 715578
Product: shotwell
Classification: Other
Component: build
0.23.x
Other Linux
: Normal normal
: ---
Assigned To: Shotwell Maintainers
Shotwell Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-05-28 15:44 UTC by Pacho Ramos
Modified: 2017-02-03 04:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
js: Refactor dual use of JS::Heap wrapper (29.50 KB, patch)
2017-02-03 02:17 UTC, Philip Chimento
none Details | Review
WIP - make closure lifetime less complicated? (5.59 KB, patch)
2017-02-03 02:17 UTC, Philip Chimento
none Details | Review
WIP - object: switch to C++ struct (1.58 KB, patch)
2017-02-03 02:17 UTC, Philip Chimento
none Details | Review
WIP - object: split out clear pending toggles (2.09 KB, patch)
2017-02-03 02:17 UTC, Philip Chimento
none Details | Review
WIP - remove keep-alive (26.28 KB, patch)
2017-02-03 02:17 UTC, Philip Chimento
none Details | Review
WIP - object: fully use GjsMaybeOwned wrapper (14.01 KB, patch)
2017-02-03 02:18 UTC, Philip Chimento
none Details | Review

Description Pacho Ramos 2016-05-28 15:44:25 UTC
We are relying on the man page Fedora is providing for shotwell, it would be nice to get it included in upstream tarball then
http://pkgs.fedoraproject.org/cgit/shotwell.git/plain/shotwell.1

Thanks
Comment 1 Pacho Ramos 2016-05-28 15:44:43 UTC

*** This bug has been marked as a duplicate of bug 715578 ***
Comment 2 Philip Chimento 2017-02-03 02:17:40 UTC
Created attachment 344819 [details] [review]
js: Refactor dual use of JS::Heap wrapper

The previous situation was that a JS::Heap wrapper was used to root a GC
thing under some conditions using JS::AddFooRoot() or the keep-alive
object, and trace or maintain a weak pointer otherwise.

This will not be possible anymore in SpiderMonkey 38. JS::AddFooRoot()
and JS::RemoveFooRoot() are going away, in favour of
JS::PersistentRootedFoo. The keep-alive object has its own problems,
because the SpiderMonkey 38 garbage collector will move GC things around,
so anything referring to a GC thing on the keep-alive object will have to
know when to update its JS::Heap wrapper when the GC thing moves.

This previous situation existed in two places.

  (1) The JS::Value holding a trampoline's function. If the function was
  owned by the trampoline (the normal case), then it was rooted. If the
  function was a vfunc, in which case it was owned by the GObject class
  prototype and the trampoline was essentially leaked, then it remained a
  weak pointer.

  (2) The JSObject associated with a closure. In the normal case the
  object and the closure had the same lifetime and the object was rooted.
  Similar to above, if the closure was a signal it was owned by the
  GObject class, and traced.

For both of these places we now use GjsMaybeOwned, a wrapper that sticks
its GC thing in either a JS::PersistentRootedFoo, if the thing is
intended to be rooted, or a JS::Heap<Foo>, if it is not. If rooted, the
GjsMaybeOwned holds a weak reference to the GjsContext, and therefore
can send out a notification when the context's dispose function is run,
similar to existing functionality of the keep-alive object.

This will still need to change further after the switch to SpiderMonkey
38, since weak pointers must be updated when they are moved by the GC.
(This is technically already the case in SpiderMonkey 31, but the API
makes it difficult to do correctly, and in practice it isn't necessary.)

https://bugzilla.gnome.org/show_bug.cgi?id=776966
Comment 3 Philip Chimento 2017-02-03 02:17:44 UTC
Created attachment 344820 [details] [review]
WIP - make closure lifetime less complicated?

https://bugzilla.gnome.org/show_bug.cgi?id=776966
Comment 4 Philip Chimento 2017-02-03 02:17:48 UTC
Created attachment 344821 [details] [review]
WIP - object: switch to C++ struct
Comment 5 Philip Chimento 2017-02-03 02:17:52 UTC
Created attachment 344822 [details] [review]
WIP - object: split out clear pending toggles
Comment 6 Philip Chimento 2017-02-03 02:17:56 UTC
Created attachment 344823 [details] [review]
WIP - remove keep-alive
Comment 7 Philip Chimento 2017-02-03 02:18:00 UTC
Created attachment 344824 [details] [review]
WIP - object: fully use GjsMaybeOwned wrapper
Comment 8 Philip Chimento 2017-02-03 04:11:02 UTC
Ugh, sorry, I attached patches to the wrong bug; typo with git bz...