Closed Bug 1432414 Opened 7 years ago Closed 7 years ago

[wayland] drag and drop does not work and shows "invalid cast from 'GdkWaylandDisplay' to 'GdkX11Display'" error

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox60 --- fixed

People

(Reporter: jhorak, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

In wayland I'm unable to drag selected text to the input element (like url input or search input). During that the message (firefox:17695): GLib-GObject-WARNING **: invalid cast from 'GdkWaylandDisplay' to 'GdkX11Display'
is shown.

part of the backtrace:
#5  0x00007ff67457ebef in g_log (log_domain=log_domain@entry=0x7ff67487d464 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_WARNING, format=format@entry=0x7ff6748847b8 "invalid cast from '%s' to '%s'") at gmessages.c:1403
#6  0x00007ff67487674b in g_type_check_instance_cast (type_instance=0x7ff679952600 [GdkWaylandDisplay], iface_type=<optimized out>) at gtype.c:4065
#7  0x00007ff676f43ecf in gdk_x11_display_get_user_time (display=0x7ff679952600 [GdkWaylandDisplay]) at gdkdisplay-x11.c:2531
#8  0x00007ff6676edb77 in nsWindow::GetLastUserInputTime() () at /home/jhorak/m/m-c/widget/gtk/nsWindow.cpp:1372
#9  0x00007ff6677271c4 in nsDragService::InvokeDragSessionImpl(nsIArray*, nsIScriptableRegion*, unsigned int) (this=0x7ff636b0c3a0, aArrayTransferables=0x7ff62e9f6d00, aRegion=0x0, aActionType=7) at /home/jhorak/m/m-c/widget/gtk/nsDragService.cpp:368
#10 0x00007ff667685ee6 in nsBaseDragService::InvokeDragSession(nsIDOMNode*, nsIArray*, nsIScriptableRegion*, unsigned int, unsigned int) (this=0x7ff636b0c3a0, aDOMNode=0x7ff63ee89378, aTransferableArray=0x7ff62e9f6d00, aDragRgn=0x0, aActionType=7, aContentPolicyType=1)
    at /home/jhorak/m/m-c/widget/nsBaseDragService.cpp:232
#11 0x00007ff667727096 in nsDragService::InvokeDragSession(nsIDOMNode*, nsIArray*, nsIScriptableRegion*, unsigned int, unsigned int) (this=0x7ff636b0c3a0, aDOMNode=0x7ff63ee89378, aArrayTransferables=0x7ff62e9f6d00, aRegion=0x0, aActionType=7, aContentPolicyType=1)
    at /home/jhorak/m/m-c/widget/gtk/nsDragService.cpp:325
#12 0x00007ff66768641c in nsBaseDragService::InvokeDragSessionWithSelection(nsISelection*, nsIArray*, unsigned int, nsIDOMDragEvent*, nsIDOMDataTransfer*) (this=0x7ff636b0c3a0, aSelection=0x7ff62fae8f40, aTransferableArray=0x7ff62e9f6d00, aActionType=7, aDragEvent=0x7ff62edbff40, aDataTransfer=0x7ff62a0f7430)
    at /home/jhorak/m/m-c/widget/nsBaseDragService.cpp:310
We can't call gdk_x11_display_get_user_time() on Wayland.
Comment on attachment 8944669 [details]
Bug 1432414 - Use gtk_get_current_event_time() instead of gdk_x11_display_get_user_time() on Wayland,

https://reviewboard.mozilla.org/r/214824/#review220828
Attachment #8944669 - Flags: review?(jhorak) → review+
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/5dd3ea4c9f22
Use gtk_get_current_event_time() instead of gdk_x11_display_get_user_time() on Wayland, r=jhorak
https://hg.mozilla.org/mozilla-central/rev/5dd3ea4c9f22
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: