Mercurial > dwindows
annotate gtk/browser.cpp @ 1838:ca304f28de3b
Fix 64bit crashes on Windows when building with Visual Studio 2012.
LPARAM in 32bit mode is LONG, but in 64bit mode it is uint64...
There were casts to LONG in several places that were getting truncated
with the new version of the compiler (but not gcc or older versions).
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 16 Nov 2012 21:18:20 +0000 |
parents | fb59f9eeeecd |
children |
rev | line source |
---|---|
622
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
1 #ifdef HAVE_CONFIG_H |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
2 # include <config.h> |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
3 #endif |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
4 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
5 #define MOZILLA_INTERNAL_API |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
6 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
7 #include <gtk/gtk.h> |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
8 #include <gtkmozembed.h> |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
9 #include <gtkmozembed_internal.h> |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
10 #include "nsIDOMMouseEvent.h" |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
11 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
12 /** |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
13 * Takes a pointer to a mouse event and returns the mouse |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
14 * button number or -1 on error. |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
15 */ |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
16 extern "C" gint mozilla_get_mouse_event_button(gpointer event) |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
17 { |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
18 gint button = 0; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
19 glong x,y; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
20 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
21 g_return_val_if_fail (event, -1); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
22 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
23 /* the following lines were found in the Galeon source */ |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
24 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
25 aMouseEvent->GetButton ((PRUint16 *) &button); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
26 aMouseEvent->GetClientX ((PRInt32 *) &x); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
27 aMouseEvent->GetClientY ((PRInt32 *) &y); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
28 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
29 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
30 /* for some reason we get different numbers on PPC, this fixes |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
31 * that up... -- MattA */ |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
32 if (button == 65536) |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
33 { |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
34 button = 1; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
35 } |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
36 else if (button == 131072) |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
37 { |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
38 button = 2; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
39 } |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
40 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
41 return button; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
42 } |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
43 extern "C" gint mozilla_get_mouse_location( gpointer event, glong *x, glong *y) |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
44 { |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
45 g_return_val_if_fail (event, -1); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
46 |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
47 /* the following lines were found in the Galeon source */ |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
48 nsIDOMMouseEvent *aMouseEvent = (nsIDOMMouseEvent *) event; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
49 aMouseEvent->GetClientX ((PRInt32 *) x); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
50 aMouseEvent->GetClientY ((PRInt32 *) y); |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
51 return 0; |
fb59f9eeeecd
SUpport for embedded mozilla/firefox widget
mhessling@81767d24-ef19-dc11-ae90-00e081727c95
parents:
diff
changeset
|
52 } |