projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
subtitle upgrades, textbox fixes/upgrades
[goodguy/history.git]
/
cinelerra-5.1
/
guicast
/
bcwindowbase.C
diff --git
a/cinelerra-5.1/guicast/bcwindowbase.C
b/cinelerra-5.1/guicast/bcwindowbase.C
index 67226174a93a34ddf2f8514ad3f0ffba04b5fc90..96e71f39ee3bfe27e3f7a03e6a158540df13ccfd 100644
(file)
--- a/
cinelerra-5.1/guicast/bcwindowbase.C
+++ b/
cinelerra-5.1/guicast/bcwindowbase.C
@@
-113,8
+113,9
@@
BC_WindowBase::~BC_WindowBase()
// stop event input
XSelectInput(top_level->display, this->win, 0);
motion_events = resize_events = translation_events = 0;
// stop event input
XSelectInput(top_level->display, this->win, 0);
motion_events = resize_events = translation_events = 0;
+#ifndef SINGLE_THREAD
top_level->dequeue_events(win);
top_level->dequeue_events(win);
-
+#endif
if(top_level->active_menubar == this) top_level->active_menubar = 0;
if(top_level->active_popup_menu == this) top_level->active_popup_menu = 0;
if(top_level->active_subwindow == this) top_level->active_subwindow = 0;
if(top_level->active_menubar == this) top_level->active_menubar = 0;
if(top_level->active_popup_menu == this) top_level->active_popup_menu = 0;
if(top_level->active_subwindow == this) top_level->active_subwindow = 0;
@@
-887,7
+888,7
@@
int BC_WindowBase::keysym_lookup(XEvent *event)
return ret;
}
return ret;
}
-pthread_t locking_task =
-1
;
+pthread_t locking_task =
(pthread_t)-1L
;
int locking_event = -1;
int locking_message = -1;
int locking_event = -1;
int locking_message = -1;
@@
-1920,11
+1921,17
@@
int BC_WindowBase::unset_all_repeaters()
// return top_level->next_repeat_id++;
// }
// return top_level->next_repeat_id++;
// }
+XEvent *BC_WindowBase::new_xevent()
+{
+ XEvent *event = new XEvent;
+ memset(event, 0, sizeof(*event));
+ return event;
+}
#ifndef SINGLE_THREAD
int BC_WindowBase::arm_repeat(int64_t duration)
{
#ifndef SINGLE_THREAD
int BC_WindowBase::arm_repeat(int64_t duration)
{
- XEvent *event = new
XEvent
;
+ XEvent *event = new
_xevent()
;
XClientMessageEvent *ptr = (XClientMessageEvent*)event;
ptr->type = ClientMessage;
ptr->message_type = RepeaterXAtom;
XClientMessageEvent *ptr = (XClientMessageEvent*)event;
ptr->type = ClientMessage;
ptr->message_type = RepeaterXAtom;
@@
-1944,7
+1951,8
@@
int BC_WindowBase::recieve_custom_xatoms(xatom_event *event)
int BC_WindowBase::send_custom_xatom(xatom_event *event)
{
int BC_WindowBase::send_custom_xatom(xatom_event *event)
{
- XEvent *myevent = new XEvent;
+#ifndef SINGLE_THREAD
+ XEvent *myevent = new_xevent();
XClientMessageEvent *ptr = (XClientMessageEvent*)myevent;
ptr->type = ClientMessage;
ptr->message_type = event->message_type;
XClientMessageEvent *ptr = (XClientMessageEvent*)myevent;
ptr->type = ClientMessage;
ptr->message_type = event->message_type;
@@
-1956,6
+1964,7
@@
int BC_WindowBase::send_custom_xatom(xatom_event *event)
ptr->data.l[4] = event->data.l[4];
put_event(myevent);
ptr->data.l[4] = event->data.l[4];
put_event(myevent);
+#endif
return 0;
}
return 0;
}
@@
-3307,7
+3316,7
@@
void BC_WindowBase::set_done(int return_value)
#else // SINGLE_THREAD
init_wait();
if( !event_thread ) return;
#else // SINGLE_THREAD
init_wait();
if( !event_thread ) return;
- XEvent *event = new
XEvent
;
+ XEvent *event = new
_xevent()
;
XClientMessageEvent *ptr = (XClientMessageEvent*)event;
event->type = ClientMessage;
ptr->message_type = SetDoneXAtom;
XClientMessageEvent *ptr = (XClientMessageEvent*)event;
event->type = ClientMessage;
ptr->message_type = SetDoneXAtom;
@@
-3319,8
+3328,8
@@
void BC_WindowBase::set_done(int return_value)
// it is deleted.
// Deletion of event_thread is done at the end of BC_WindowBase::run_window() - by calling the destructor
put_event(event);
// it is deleted.
// Deletion of event_thread is done at the end of BC_WindowBase::run_window() - by calling the destructor
put_event(event);
- }
#endif
#endif
+ }
}
void BC_WindowBase::close(int return_value)
}
void BC_WindowBase::close(int return_value)