Enlightenment CVS committal
Author : moom
Project : e17
Module : libs/etk
Dir : e17/libs/etk/src/lib
Modified Files:
etk_signal.c
Log Message:
* [Signal] Fix signal emission with x86_64 cpus. Should fix a lot of
bugs on these cpus (espcially the scrollbar bug...). Thanks a lot to
ilLogict for helping me debugging this :)
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_signal.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -3 -r1.23 -r1.24
--- etk_signal.c 10 Feb 2007 16:55:42 -0000 1.23
+++ etk_signal.c 25 Feb 2007 21:36:21 -0000 1.24
@@ -455,7 +455,6 @@
emitted_signal->stop_emission = ETK_FALSE;
_etk_signal_emitted_signals =
evas_list_prepend(_etk_signal_emitted_signals, emitted_signal);
- va_copy(args2, args);
/* Calls the default handler */
if (signal->handler_offset >= 0 && signal->marshaller)
@@ -465,8 +464,10 @@
default_handler = (void *)object + signal->handler_offset;
if (*default_handler)
{
+ va_copy(args2, args);
signal->marshaller(*default_handler, object, NULL, return_value,
args2);
return_value_set = ETK_TRUE;
+ va_end(args2);
}
}
@@ -477,6 +478,7 @@
etk_object_signal_callbacks_get(object, signal, &callbacks);
while (!emitted_signal->stop_emission && callbacks && object_ptr)
{
+ va_copy(args2, args);
callback = callbacks->data;
if (!return_value_set || !signal->accumulator)
{
@@ -488,6 +490,7 @@
etk_signal_callback_call_valist(callback, object, &result, args2);
signal->accumulator(return_value, &result, signal->accum_data);
}
+ va_end(args2);
callbacks = evas_list_remove_list(callbacks, callbacks);
}
callbacks = evas_list_free(callbacks);
@@ -499,7 +502,6 @@
ret = !emitted_signal->stop_emission;
free(emitted_signal);
- va_end(args2);
return ret;
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs