simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Sun Dec 17 20:19:47 GMT 2017


TL;DR:
  1af9c42 Better protection against stale clipboard_data_instances.
  1ed2f98 Add missing g_application_hold on Duplicate Session.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2017-12-17 20:19:47

commit 1af9c425ba520957f08372d707ae9d957c437db4
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=1af9c425ba520957f08372d707ae9d957c437db4;hp=2a76f8d4a28e01d4cb82ee9858616f13759089f6
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Dec 17 20:12:52 2017 +0000

    Better protection against stale clipboard_data_instances.
    
    I had a segfault on OS X today at Pterm.app shutdown. I wasn't able to
    reproduce it in a debugger, but the cause seemed to be that
    clipboard_clear called term_deselect (this was from before the patch
    series that renamed that function) when inst->term was already NULL.
    
    This must be because a clipboard_data_instance outlived its associated
    inst->term, and quite likely its associated inst as well. But we can't
    free those structures when a gui_data is freed, because GTK callbacks
    will still depend on them; so instead we must have each gui_data keep
    a list of active cdis pointing at it, and then at destruction time,
    walk along the list nulling out each one's pointer to part of itself.

 unix/gtkwin.c | 78 +++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 55 insertions(+), 23 deletions(-)

commit 1ed2f98c899b17e39004401d4dfbeb9857726864
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=1ed2f98c899b17e39004401d4dfbeb9857726864;hp=1af9c425ba520957f08372d707ae9d957c437db4
Author: Simon Tatham <anakin at pobox.com>
Date:   Sun Dec 17 20:18:20 2017 +0000

    Add missing g_application_hold on Duplicate Session.
    
    The omission of this call caused a GTK assertion failure when the
    GApplication's use count went negative after two releases and only one
    hold.

 unix/gtkapp.c | 1 +
 1 file changed, 1 insertion(+)



More information about the tartarus-commits mailing list