Mercurial > dwindows
view gtk/browser.cpp @ 1582:728778634933
Performed a more thorough audit of functions on Mac that require local pools.
Added macros to these functions to hopefully reduce or eliminate leaks in apps that are threaded and perform GUI functions on secondary threads. _dw_pool_drain() is still available to drain the main thread pool, but enclosing the functions in these macros should reduce the objects accumulating in the thread's main pool.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Thu, 26 Jan 2012 05:26:40 +0000 |
parents | fb59f9eeeecd |
children |
line wrap: on
line source
#ifdef HAVE_CONFIG_H # include <config.h> #endif #define MOZILLA_INTERNAL_API #include <gtk/gtk.h> #include <gtkmozembed.h> #include <gtkmozembed_internal.h> #include "nsIDOMMouseEvent.h" /** * Takes a pointer to a mouse event and returns the mouse * button number or -1 on error. */ extern "C" gint mozilla_get_mouse_event_button(gpointer event) { gint button = 0; glong x,y; g_return_val_if_fail (event, -1); /* the following lines were found in the Galeon source */ nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; aMouseEvent->GetButton ((PRUint16 *) &button); aMouseEvent->GetClientX ((PRInt32 *) &x); aMouseEvent->GetClientY ((PRInt32 *) &y); /* for some reason we get different numbers on PPC, this fixes * that up... -- MattA */ if (button == 65536) { button = 1; } else if (button == 131072) { button = 2; } return button; } extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y) { g_return_val_if_fail (event, -1); /* the following lines were found in the Galeon source */ nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; aMouseEvent->GetClientX ((PRInt32 *) x); aMouseEvent->GetClientY ((PRInt32 *) y); return 0; }