projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
undo nested clip bug, wheel zoom redraw fix, uninited vars, shortcuts doc
[goodguy/history.git]
/
cinelerra-5.1
/
guicast
/
bcpopupmenu.C
diff --git
a/cinelerra-5.1/guicast/bcpopupmenu.C
b/cinelerra-5.1/guicast/bcpopupmenu.C
index 4c424ae563a2b9aa6666435fd2e5e73f592b2fb5..4c639fe27d25890f96bd4289cc77c21c651ca569 100644
(file)
--- a/
cinelerra-5.1/guicast/bcpopupmenu.C
+++ b/
cinelerra-5.1/guicast/bcpopupmenu.C
@@
-26,7
+26,7
@@
#include "bcpopupmenu.h"
#include "bcresources.h"
#include "bcsignals.h"
#include "bcpopupmenu.h"
#include "bcresources.h"
#include "bcsignals.h"
-#include "colors.h"
+#include "
bc
colors.h"
#include "fonts.h"
#include <string.h>
#include "vframe.h"
#include "fonts.h"
#include <string.h>
#include "vframe.h"
@@
-96,6
+96,7
@@
BC_PopupMenu::~BC_PopupMenu()
{
use_title = 0;
deactivate();
{
use_title = 0;
deactivate();
+ delete menu_popup;
for(int i = 0; i < TOTAL_IMAGES; i++)
{
if(images[i]) delete images[i];
for(int i = 0; i < TOTAL_IMAGES; i++)
{
if(images[i]) delete images[i];
@@
-290,6
+291,7
@@
int BC_PopupMenu::activate_menu()
{
if( !get_button_down() || !BC_WindowBase::get_resources()->popupmenu_btnup )
return menu_activate();
{
if( !get_button_down() || !BC_WindowBase::get_resources()->popupmenu_btnup )
return menu_activate();
+ top_level->active_popup_menu = this;
pending = 1;
return 0;
}
pending = 1;
return 0;
}
@@
-327,7
+329,7
@@
int BC_PopupMenu::menu_activate()
popup_down = 1;
if(use_title) draw_title(1);
}
popup_down = 1;
if(use_title) draw_title(1);
}
- return
0
;
+ return
1
;
}
int BC_PopupMenu::deactivate_menu()
}
int BC_PopupMenu::deactivate_menu()
@@
-355,12
+357,11
@@
int BC_PopupMenu::focus_out_event()
int BC_PopupMenu::repeat_event(int64_t duration)
{
int BC_PopupMenu::repeat_event(int64_t duration)
{
- if( status == BUTTON_HI &&
!tooltip_done &&
+ if( status == BUTTON_HI &&
tooltip_text && tooltip_text[0] != 0 &&
duration == top_level->get_resources()->tooltip_delay )
{
show_tooltip();
tooltip_text && tooltip_text[0] != 0 &&
duration == top_level->get_resources()->tooltip_delay )
{
show_tooltip();
- tooltip_done = 1;
return 1;
}
return 0;
return 1;
}
return 0;
@@
-368,6
+369,7
@@
int BC_PopupMenu::repeat_event(int64_t duration)
int BC_PopupMenu::button_press_event()
{
int BC_PopupMenu::button_press_event()
{
+ int result = 0;
if(get_buttonpress() == 1 &&
is_event_win() &&
use_title)
if(get_buttonpress() == 1 &&
is_event_win() &&
use_title)
@@
-403,17
+405,18
@@
int BC_PopupMenu::button_press_event()
BC_MenuItem *tmp = menu_popup->menu_items.values[theval];
set_text(tmp->get_text());
BC_MenuItem *tmp = menu_popup->menu_items.values[theval];
set_text(tmp->get_text());
- if (!tmp->handle_event())
- this->handle_event();
+ result = tmp->handle_event();
+ if( !result )
+ result = this->handle_event();
}
if(popup_down)
{
// Menu is down so dispatch to popup.
menu_popup->dispatch_button_press();
}
if(popup_down)
{
// Menu is down so dispatch to popup.
menu_popup->dispatch_button_press();
- re
turn
1;
+ re
sult =
1;
}
}
- return
0
;
+ return
result
;
}
int BC_PopupMenu::button_release_event()
}
int BC_PopupMenu::button_release_event()
@@
-472,7
+475,7
@@
int BC_PopupMenu::cursor_leave_event()
if( popup_down ) {
if( !get_button_down() && !menu_popup->cursor_inside() ) {
status = BUTTON_UP;
if( popup_down ) {
if( !get_button_down() && !menu_popup->cursor_inside() ) {
status = BUTTON_UP;
-
deactivate_menu();
+
//
deactivate_menu();
}
menu_popup->dispatch_cursor_leave();
}
}
menu_popup->dispatch_cursor_leave();
}
@@
-485,7
+488,6
@@
int BC_PopupMenu::cursor_enter_event()
{
if(is_event_win() && use_title)
{
{
if(is_event_win() && use_title)
{
- tooltip_done = 0;
if(top_level->button_down)
{
status = BUTTON_DN;
if(top_level->button_down)
{
status = BUTTON_DN;