# # # patch "FindText.pm" # from [d69a96eebd9fc4cee34a2c8da1d8b5e3dc09fdd4] # to [913c44050542d626490f113041dfc447447322b0] # # patch "WindowManager.pm" # from [46e5252a4e6feeba8f7759b2b0e77f287551ee5f] # to [698713b429dd8c88f94fd1b033c08d7f492132ea] # # patch "mtn-browse" # from [13550eca60f56e48b80408db3787a13eeb256859] # to [3a1bf85b64af0fe8483e0d04eae892696f5a6e86] # ============================================================ --- FindText.pm d69a96eebd9fc4cee34a2c8da1d8b5e3dc09fdd4 +++ FindText.pm 913c44050542d626490f113041dfc447447322b0 @@ -56,6 +56,7 @@ sub find_text($$); sub disable_find_text($$); sub find_text($$); +sub hide_find_text($); sub reset_find_text($); # Private routines. @@ -167,6 +168,34 @@ sub disable_find_text($$) # ############################################################################## # +# Routine - hide_find_text +# +# Description - Hides the find text window associated with the specified +# textview widget. +# +# Data - $text_view : The textview widget to which the find text +# window is associated. +# +############################################################################## + + + +sub hide_find_text($) +{ + + my($text_view, $disable) = @_; + + my $instance; + + # Simply hide the found find text window. + + $instance->{window}->hide() + if (defined($instance = find_current_window($text_view))); + +} +# +############################################################################## +# # Routine - find_button_clicked_cb # # Description - Callback routine called when the user clicks on the find ============================================================ --- WindowManager.pm 46e5252a4e6feeba8f7759b2b0e77f287551ee5f +++ WindowManager.pm 698713b429dd8c88f94fd1b033c08d7f492132ea @@ -59,12 +59,15 @@ use Gtk2; # ***** GLOBAL DATA DECLARATIONS ***** -# A list of event types that are to be filtered out when updating a busy GUI. +# A hash of event types that are to be filtered out when updating a busy GUI. -my @filtered_events = ("button-press", - "button-release", - "key-press", - "key-release"); +my %filtered_events = ("button-press" => 1, + "2button-press" => 1, + "3button-press" => 1, + "button-release" => 1, + "key-press" => 1, + "key-release" => 1, + "scroll" => 1); # The singleton object. @@ -586,16 +589,10 @@ sub window_manager_event_filter($$) my $this = $client_data->{singleton}; my $type = $event->type(); - if (! $this->{allow_input}) - { - foreach my $filter_type (@filtered_events) - { - return - if ($type eq $filter_type - && (! defined($grab_widget) - || Gtk2->get_event_widget($event) != $grab_widget)); - } - } + return if (! $this->{allow_input} + && exists($filtered_events{$type}) + && (! defined($grab_widget) + || $grab_widget != Gtk2->get_event_widget($event))); Gtk2->main_do_event($event); } ============================================================ --- mtn-browse 13550eca60f56e48b80408db3787a13eeb256859 +++ mtn-browse 3a1bf85b64af0fe8483e0d04eae892696f5a6e86 @@ -1388,6 +1388,7 @@ sub main_window_delete_event_cb($$$) return; }); + hide_find_text($browser->{file_view_sv}); $browser->{window}->hide(); $browser->{mtn} = undef; $browser->{branch_combo_details}->{preset} = 0;