From 4d9354c8d1f8ae7a72d7d446a9ccc744a3b631fb Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Wed, 23 Mar 2016 21:16:29 +0100
Subject: [PATCH 1/2] fix var name

---
 src/session.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/session.py b/src/session.py
index 2e488390b..9112c904a 100644
--- a/src/session.py
+++ b/src/session.py
@@ -356,8 +356,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
         event = event_t(msg, subject, msg_type, tim, encrypted, resource,
             msg_log_id, xhtml=xhtml, session=self, form_node=form_node,
             displaymarking=displaymarking, sent_forwarded=False,
-            show_in_roster=obj.show_in_roster,
-            show_in_systray=obj.show_in_systray)
+            show_in_roster=show_in_roster, show_in_systray=show_in_systray)
 
         gajim.events.add_event(self.conn.name, fjid, event)
 

From 677490030d4041c766d21bf2f06f34527d23ab23 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Wed, 23 Mar 2016 22:32:03 +0100
Subject: [PATCH 2/2] fix deleting a bookmark. Fixes #8290

---
 src/config.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/config.py b/src/config.py
index 62143b21a..7cabc6e12 100644
--- a/src/config.py
+++ b/src/config.py
@@ -3191,6 +3191,8 @@ class ManageBookmarksWindow:
         self.window = self.xml.get_object('manage_bookmarks_window')
         self.window.set_transient_for(gajim.interface.roster.window)
 
+        self.ignore_events = False
+
         # Account-JID, RoomName, Room-JID, Autojoin, Minimize, Passowrd, Nick,
         # Show_Status
         self.treestore = Gtk.TreeStore(str, str, str, bool, bool, str, str, str)
@@ -3317,8 +3319,11 @@ class ManageBookmarksWindow:
             # Don't remove account iters
             return
 
+        self.ignore_events = True
         model.remove(iter_)
+        self.selection.unselect_all()
         self.clear_fields()
+        self.ignore_events = False
 
     def check_valid_bookmark(self):
         """
@@ -3438,6 +3443,8 @@ class ManageBookmarksWindow:
         self.print_status_combobox.set_active(opts.index(print_status))
 
     def on_title_entry_changed(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if iter_: # After removing a bookmark, we got nothing selected
             if model.iter_parent(iter_):
@@ -3445,6 +3452,8 @@ class ManageBookmarksWindow:
                 model[iter_][1] = self.title_entry.get_text()
 
     def on_nick_entry_changed(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if iter_:
             nick = self.nick_entry.get_text()
@@ -3458,6 +3467,8 @@ class ManageBookmarksWindow:
             model[iter_][6] = nick
 
     def on_server_entry_changed(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if not iter_:
             return
@@ -3483,6 +3494,8 @@ class ManageBookmarksWindow:
         model[iter_][2] = room_jid
 
     def on_room_entry_changed(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if not iter_:
             return
@@ -3508,22 +3521,30 @@ class ManageBookmarksWindow:
         model[iter_][2] = room_jid
 
     def on_pass_entry_changed(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if iter_:
             model[iter_][5] = self.pass_entry.get_text()
 
     def on_autojoin_checkbutton_toggled(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if iter_:
             model[iter_][3] = self.autojoin_checkbutton.get_active()
             self.minimize_checkbutton.set_sensitive(model[iter_][3])
 
     def on_minimize_checkbutton_toggled(self, widget):
+        if self.ignore_events:
+            return
         (model, iter_) = self.selection.get_selected()
         if iter_:
             model[iter_][4] = self.minimize_checkbutton.get_active()
 
     def on_print_status_combobox_changed(self, widget):
+        if self.ignore_events:
+            return
         active = widget.get_active()
         model = widget.get_model()
         print_status = model[active][1]