From a661c6598eae568ac0fcd232d96dffbfe27cdca7 Mon Sep 17 00:00:00 2001 From: fab <> Date: Sun, 11 Feb 2007 23:32:01 +0000 Subject: [PATCH] - sessions stuff on msfgui, not yet finished and bad implementation git-svn-id: file:///home/svn/framework3/trunk@4363 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/ui/gtk2/frame.rb | 13 +++++++++---- lib/msf/ui/gtk2/framework_event_manager.rb | 13 +++++++------ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/msf/ui/gtk2/frame.rb b/lib/msf/ui/gtk2/frame.rb index 6203e5b848..f170eeaf37 100644 --- a/lib/msf/ui/gtk2/frame.rb +++ b/lib/msf/ui/gtk2/frame.rb @@ -468,7 +468,7 @@ class MySessionTree close_session_item_shell.signal_connect('activate') do |item| if session_iter = @selection.selected - framework.events.on_session_close(session_iter) + remove_session(session_iter) end end @@ -483,9 +483,14 @@ class MySessionTree # # Remove the session when receive the on_session_close from framework_event_manager # - def remove_session(session_iter) - puts session_iter[O_SESSION] - @model.remove(session_iter) + def remove_session_iter(iter) + session.interacting = false if session.interactive? + framework.events.on_session_close(iter[O_SESSION]) + remove_session(iter) + end + + def remove_session(iter) + @model.remove(iter) end end # class MySessionTree diff --git a/lib/msf/ui/gtk2/framework_event_manager.rb b/lib/msf/ui/gtk2/framework_event_manager.rb index 1496e2b0f9..da255ec227 100644 --- a/lib/msf/ui/gtk2/framework_event_manager.rb +++ b/lib/msf/ui/gtk2/framework_event_manager.rb @@ -40,14 +40,15 @@ module FrameworkEventManager # # Called when a session is closed and removed from the framework. # - def on_session_close(session_iter) - $gtk2driver.session_tree.remove_session(session_iter) - # if (session.interacting == true) - # output.print_line - # end + def on_session_close(session) + + if (session.interacting == true) + output.print_line + end # If logging had been enabled for this session, stop it now. - # Msf::Logging::stop_session_log(session) + Msf::Logging::stop_session_log(session) + end end