gecko-dev/widget/gtk/compat
Oliver Henshaw e76445cfb6 Bug 694570 - (3/4) - Stop using libgnome and libgnomeui on Linux. r=acomminos
(Based on original patch by Chris Coulson.)

Replace session management through libgnome with direct use of libSM and
libICE. This allows xsmp session restore on gtk2 and gtk3 builds.

Changes in behaviour:
- It now only sends the "session-save" notification when the save style
is SmSaveLocal or SmSaveBoth. Saving internal state with a save style of
SmSaveGlobal is actually incorrect. This means that Firefox now
distinguishes between a normal session exit and a session exit with
session saving enabled.
- As "quit-application-requested" might pop up a dialog, it only does
  this if the interact style is not SmInteractStyleNone
- "quit-application-requested" is only sent after sending
  SmcInteractRequest and receiving an interact message.
- It defers closing the connection to the session manager until
  the destructor, i.e after the "web-workers-shutdown" async shutdown
  phase completes. This means that firefox shouldn't be killed too early
  and lose data (*).

* It still might be killed prematurely if it takes too long to quit and
  the session manager decides to timeout, but that's another story.
2016-06-20 08:13:00 +02:00
..
gdk Bug 694570 - (3/4) - Stop using libgnome and libgnomeui on Linux. r=acomminos 2016-06-20 08:13:00 +02:00
glib
gtk