bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62291: 30.0.50; PGTK copy + paste to other app problem


From: Andrew Tropin
Subject: bug#62291: 30.0.50; PGTK copy + paste to other app problem
Date: Wed, 22 Mar 2023 15:02:29 +0400

On 2023-03-22 18:33, Po Lu wrote:

> Andrew Tropin <andrew@trop.in> writes:
>
>> On 2023-03-22 14:11, Po Lu wrote:
>>
>>> Andrew Tropin <andrew@trop.in> writes:
>>>
>>>> On 2023-03-22 08:39, Po Lu wrote:
>>>>
>>>>> Andrew Tropin <andrew@trop.in> writes:
>>>>>
>>>>>> (gdb) frame 12
>>>>>> #12 0x00007ffff798ac04 in gtk_widget_event_internal 
>>>>>> (widget=widget@entry=0xfee500, event=event@entry=0xfdb4a0) at 
>>>>>> gtkwidget.c:7808
>>>>>> 7808    in gtkwidget.c
>>>>>> (gdb) p *event
>>>>>> $3 = {type = GDK_FOCUS_CHANGE, any = {type = GDK_FOCUS_CHANGE, window = 
>>>>>> 0xefc450, send_event = 0 '\000'}, expose = {type = GDK_FOCUS_CHANGE, 
>>>>>> window = 0xefc450, 
>>>>>>     send_event = 0 '\000', area = {x = 0, y = 0, width = 0, height = 0}, 
>>>>>> region = 0x0, count = 0}, visibility = {type = GDK_FOCUS_CHANGE, window 
>>>>>> = 0xefc450, 
>>>>>>     send_event = 0 '\000', state = GDK_VISIBILITY_UNOBSCURED}, motion = 
>>>>>> {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', time 
>>>>>> = 0, x = 0, y = 0, axes = 0x0, 
>>>>>>     state = 0, is_hint = 0, device = 0x0, x_root = 0, y_root = 0}, 
>>>>>> button = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 
>>>>>> '\000', time = 0, x = 0, y = 0, 
>>>>>>     axes = 0x0, state = 0, button = 0, device = 0x0, x_root = 0, y_root 
>>>>>> = 0}, touch = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 
>>>>>> 0 '\000', time = 0, x = 0, 
>>>>>>     y = 0, axes = 0x0, state = 0, sequence = 0x0, emulating_pointer = 0, 
>>>>>> device = 0x0, x_root = 0, y_root = 0}, scroll = {type = 
>>>>>> GDK_FOCUS_CHANGE, window = 0xefc450, 
>>>>>>     send_event = 0 '\000', time = 0, x = 0, y = 0, state = 0, direction 
>>>>>> = GDK_SCROLL_UP, device = 0x0, x_root = 0, y_root = 0, delta_x = 0, 
>>>>>> delta_y = 0, is_stop = 0}, key = {
>>>>>>     type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', 
>>>>>> time = 0, state = 0, keyval = 0, length = 0, string = 0x0, 
>>>>>> hardware_keycode = 0, group = 0 '\000', 
>>>>>>     is_modifier = 0}, crossing = {type = GDK_FOCUS_CHANGE, window = 
>>>>>> 0xefc450, send_event = 0 '\000', subwindow = 0x0, time = 0, x = 0, y = 
>>>>>> 0, x_root = 0, y_root = 0, 
>>>>>>     mode = GDK_CROSSING_NORMAL, detail = GDK_NOTIFY_ANCESTOR, focus = 0, 
>>>>>> state = 0}, focus_change = {type = GDK_FOCUS_CHANGE, window = 0xefc450, 
>>>>>> send_event = 0 '\000', in = 1}, 
>>>>>>   configure = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 
>>>>>> 0 '\000', x = 0, y = 0, width = 0, height = 0}, property = {type = 
>>>>>> GDK_FOCUS_CHANGE, window = 0xefc450, 
>>>>>>     send_event = 0 '\000', atom = 0x0, time = 0, state = 0}, selection = 
>>>>>> {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', 
>>>>>> selection = 0x0, target = 0x0, 
>>>>>>     property = 0x0, time = 0, requestor = 0x0}, owner_change = {type = 
>>>>>> GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', owner = 0x0, 
>>>>>>     reason = GDK_OWNER_CHANGE_NEW_OWNER, selection = 0x0, time = 0, 
>>>>>> selection_time = 0}, proximity = {type = GDK_FOCUS_CHANGE, window = 
>>>>>> 0xefc450, send_event = 0 '\000', 
>>>>>>     time = 0, device = 0x0}, dnd = {type = GDK_FOCUS_CHANGE, window = 
>>>>>> 0xefc450, send_event = 0 '\000', context = 0x0, time = 0, x_root = 0, 
>>>>>> y_root = 0}, window_state = {
>>>>>>     type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', 
>>>>>> changed_mask = 0, new_window_state = 0}, setting = {type = 
>>>>>> GDK_FOCUS_CHANGE, window = 0xefc450, 
>>>>>>     send_event = 0 '\000', action = GDK_SETTING_ACTION_NEW, name = 0x0}, 
>>>>>> grab_broken = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 
>>>>>> 0 '\000', keyboard = 0, 
>>>>>>     implicit = 0, grab_window = 0x0}, touchpad_swipe = {type = 
>>>>>> GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', phase = 0 
>>>>>> '\000', n_fingers = 1 '\001', time = 0, 
>>>>>>     x = 0, y = 0, dx = 0, dy = 0, x_root = 0, y_root = 0, state = 0}, 
>>>>>> touchpad_pinch = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event 
>>>>>> = 0 '\000', phase = 0 '\000', 
>>>>>>     n_fingers = 1 '\001', time = 0, x = 0, y = 0, dx = 0, dy = 0, 
>>>>>> angle_delta = 0, scale = 0, x_root = 0, y_root = 0, state = 0}, 
>>>>>> pad_button = {type = GDK_FOCUS_CHANGE, 
>>>>>>     window = 0xefc450, send_event = 0 '\000', time = 0, group = 0, 
>>>>>> button = 0, mode = 0}, pad_axis = {type = GDK_FOCUS_CHANGE, window = 
>>>>>> 0xefc450, send_event = 0 '\000', 
>>>>>>     time = 0, group = 0, index = 0, mode = 0, value = 0}, pad_group_mode 
>>>>>> = {type = GDK_FOCUS_CHANGE, window = 0xefc450, send_event = 0 '\000', 
>>>>>> time = 0, group = 0, mode = 0}}
>>>>>>
>>>>>> Thank you for your patience :)
>>>>>
>>>>> OK, thanks.  This is quite odd.  If you type:
>>>>>
>>>>>   (gdb) p G_OBJECT_TYPE_NAME (widget)
>>>>>
>>>>> what do you see?
>>>>
>>>> (gdb) p G_OBJECT_TYPE_NAME (widget)
>>>> No symbol "G_OBJECT_TYPE_NAME" in current context.
>>>
>>> Hmm.  Would you please try this instead?
>>>
>>>   (gdb) p g_type_name (((GTypeInstance *) widget)->g_class->g_type)
>>
>> (gdb)  p g_type_name (((GTypeInstance *) widget)->g_class->g_type)
>> 'g_type_name' has unknown return type; cast the call to its declared return 
>> type
>
> Ah, I guess you have to cast it to (char *):
>
>   (gdb) p (char *) g_type_name ...

(gdb) p (char *) g_type_name (((GTypeInstance *) widget)->g_class->g_type)
$1 = 0x7ffff7a6dda2 "GtkWindow"

-- 
Best regards,
Andrew Tropin

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]