summaryrefslogtreecommitdiffstats
path: root/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/DumpRenderTree/gtk/EventSender.cpp')
-rw-r--r--WebKitTools/DumpRenderTree/gtk/EventSender.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
index 7836ff0..4936fe5 100644
--- a/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/EventSender.cpp
@@ -96,6 +96,14 @@ static void gdk_window_get_root_coords(GdkWindow* window, gint x, gint y, gint*
}
#endif
+#if !GTK_CHECK_VERSION(2, 14, 0)
+static GdkWindow* gtk_widget_get_window(GtkWidget* widget)
+{
+ g_return_val_if_fail(GTK_IS_WIDGET(widget), 0);
+ return widget->window;
+}
+#endif
+
static JSValueRef getDragModeCallback(JSContextRef context, JSObjectRef object, JSStringRef propertyName, JSValueRef* exception)
{
return JSValueMakeBoolean(context, dragMode);
@@ -139,13 +147,13 @@ bool prepareMouseButtonEvent(GdkEvent* event, int eventSenderButtonNumber)
event->button.button = gdkButtonNumber;
event->button.x = lastMousePositionX;
event->button.y = lastMousePositionY;
- event->button.window = GTK_WIDGET(view)->window;
+ event->button.window = gtk_widget_get_window(GTK_WIDGET(view));
event->button.device = gdk_device_get_core_pointer();
event->button.state = getStateFlags();
event->button.time = GDK_CURRENT_TIME;
int xRoot, yRoot;
- gdk_window_get_root_coords(GTK_WIDGET(view)->window, lastMousePositionX, lastMousePositionY, &xRoot, &yRoot);
+ gdk_window_get_root_coords(gtk_widget_get_window(GTK_WIDGET(view)), lastMousePositionX, lastMousePositionY, &xRoot, &yRoot);
event->button.x_root = xRoot;
event->button.y_root = yRoot;
@@ -266,12 +274,12 @@ static JSValueRef mouseMoveToCallback(JSContextRef context, JSObjectRef function
event.motion.y = lastMousePositionY;
event.motion.time = GDK_CURRENT_TIME;
- event.motion.window = GTK_WIDGET(view)->window;
+ event.motion.window = gtk_widget_get_window(GTK_WIDGET(view));
event.motion.device = gdk_device_get_core_pointer();
event.motion.state = getStateFlags();
int xRoot, yRoot;
- gdk_window_get_root_coords(GTK_WIDGET(view)->window, lastMousePositionX, lastMousePositionY, &xRoot, &yRoot);
+ gdk_window_get_root_coords(gtk_widget_get_window(GTK_WIDGET(view)), lastMousePositionX, lastMousePositionY, &xRoot, &yRoot);
event.motion.x_root = xRoot;
event.motion.y_root = yRoot;
@@ -301,7 +309,7 @@ static JSValueRef mouseWheelToCallback(JSContextRef context, JSObjectRef functio
event.scroll.x = lastMousePositionX;
event.scroll.y = lastMousePositionY;
event.scroll.time = GDK_CURRENT_TIME;
- event.scroll.window = GTK_WIDGET(view)->window;
+ event.scroll.window = gtk_widget_get_window(GTK_WIDGET(view));
if (horizontal < 0)
event.scroll.direction = GDK_SCROLL_LEFT;
@@ -499,7 +507,7 @@ static JSValueRef keyDownCallback(JSContextRef context, JSObjectRef function, JS
memset(&event, 0, sizeof(event));
event.key.keyval = gdkKeySym;
event.key.state = state;
- event.key.window = GTK_WIDGET(view)->window;
+ event.key.window = gtk_widget_get_window(GTK_WIDGET(view));
// When synthesizing an event, an invalid hardware_keycode value
// can cause it to be badly processed by Gtk+.