Bug 264907 - mousepad crashes with oxygen-gtk
Summary: mousepad crashes with oxygen-gtk
Status: CLOSED FIXED
Alias: None
Product: Oxygen
Classification: Plasma
Component: gtk2-engine (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-31 02:16 UTC by nucleo
Modified: 2011-07-29 23:31 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
possible patch (554 bytes, application/octet-stream)
2011-01-31 06:43 UTC, Hugo Pereira Da Costa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nucleo 2011-01-31 02:16:25 UTC
Version:           unspecified
OS:                Linux

Xfce editor mousepad 0.2.16 crashes if oxygen-gtk used.
No crash with clearlooks.

GNU gdb (GDB) Fedora (7.2-16.fc14)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/mousepad...Reading symbols from /usr/lib/debug/usr/bin/mousepad.debug...done.
done.
(gdb) r
Starting program: /usr/bin/mousepad 
[Thread debugging using libthread_db enabled]
Detaching after fork from child process 7662.
Detaching after fork from child process 7663.

Program received signal SIGSEGV, Segmentation fault.
0x003b0e71 in gtk_text_view_set_attributes_from_style (widget=0x80e3818, 
    previous_style=0x808e180) at gtktextview.c:6375
6375	  values->appearance.bg_color = style->base[GTK_STATE_NORMAL];
Missing separate debuginfos, use: debuginfo-install GConf2-2.31.91-1.fc14.i686 ORBit2-2.14.19-1.fc14.i686 atk-1.30.0-5.fc14.i686 cairo-1.10.0-1.fc14.i686 dbus-libs-1.4.0-1.fc14.i686 expat-2.0.1-10.fc13.i686 fontconfig-2.8.0-2.fc14.i686 freetype-2.4.2-3.fc14.i686 gamin-0.1.10-8.fc14.i686 gdk-pixbuf2-2.22.0-1.fc14.i686 glibc-2.12.90-17.i686 gvfs-1.6.4-2.fc14.i686 libICE-1.0.6-2.fc13.i686 libSM-1.1.0-7.fc12.i686 libX11-1.3.4-3.fc14.i686 libXau-1.0.6-1.fc14.i686 libXcomposite-0.4.2-1.fc14.i686 libXcursor-1.1.10-5.fc14.i686 libXdamage-1.1.3-1.fc14.i686 libXext-1.1.2-2.fc14.i686 libXfixes-4.0.5-1.fc14.i686 libXi-1.3.2-1.fc14.i686 libXinerama-1.1-2.fc13.i686 libXrandr-1.3.0-5.fc13.i686 libXrender-0.9.6-1.fc14.i686 libgcc-4.5.1-4.fc14.i686 libpng-1.2.44-1.fc14.i686 libselinux-2.0.96-5.fc14.i686 libstdc++-4.5.1-4.fc14.i686 libudev-161-4.fc14.i686 libuuid-2.18-4.3.fc14.i686 libxcb-1.7-1.fc14.i686 libxfce4util-4.6.2-1.fc14.i686 libxfcegui4-4.6.4-1.fc14.i686 pango-1.28.1-4.fc14.i686 pixman-0.18.4-1.fc14.i686 startup-notification-0.10-4.fc13.i686 xcb-util-0.3.6-1.fc12.i686 zlib-1.2.5-2.fc14.i686
(gdb) bt
#0  0x003b0e71 in gtk_text_view_set_attributes_from_style (widget=0x80e3818, 
    previous_style=0x808e180) at gtktextview.c:6375
#1  gtk_text_view_style_set (widget=0x80e3818, previous_style=0x808e180)
    at gtktextview.c:3979
#2  0x00acb7c8 in g_cclosure_marshal_VOID__OBJECT (closure=0x80869d8, 
    return_value=0x0, n_param_values=2, param_values=0x80e4ec8, 
    invocation_hint=0xbfffdac0, marshal_data=0x3b0e10) at gmarshal.c:638
#3  0x00aad538 in g_type_class_meta_marshal (closure=0x80869d8, 
    return_value=0x0, n_param_values=2, param_values=0x80e4ec8, 
    invocation_hint=0xbfffdac0, marshal_data=0x90) at gclosure.c:877
#4  0x00aaebe3 in g_closure_invoke (closure=0x80869d8, return_value=0x0, 
    n_param_values=2, param_values=0x80e4ec8, invocation_hint=0xbfffdac0)
    at gclosure.c:766
#5  0x00ac086e in signal_emit_unlocked_R (node=0x8086c00, detail=0, 
    instance=0x80e3818, emission_return=0x0, instance_and_params=0x80e4ec8)
    at gsignal.c:3182
#6  0x00aca24e in g_signal_emit_valist (instance=0x80e3818, signal_id=23, 
    detail=0, var_args=0xbfffdc80 "\030\070\016\b/") at gsignal.c:2983
#7  0x00aca403 in g_signal_emit (instance=0x80e3818, signal_id=23, detail=0)
    at gsignal.c:3040
#8  0x0042d653 in gtk_widget_set_style_internal (widget=0x80e3818, 
    style=<value optimized out>, initial_emission=0) at gtkwidget.c:6976
#9  0x0042d7e3 in gtk_widget_reset_rc_style (widget=0x80e3818)
---Type <return> to continue, or q <return> to quit---
[K---Type <return> to continue, or q <return> to quit---
    at gtkwidget.c:6588
#10 0x0042d8cf in reset_rc_styles_recurse (widget=0x80e3818, data=0x0)
    at gtkwidget.c:7186
#11 0x001f6f1b in gtk_bin_forall (container=0x80d9808, include_internals=1, 
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkbin.c:141
#12 0x0034dd98 in gtk_scrolled_window_forall (container=0x80d9808, 
    include_internals=1, callback=0x42d830 <reset_rc_styles_recurse>, 
    callback_data=0x0) at gtkscrolledwindow.c:1086
#13 0x00239d34 in IA__gtk_container_forall (container=0x80d9808, 
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkcontainer.c:1506
#14 0x0042d8b6 in reset_rc_styles_recurse (widget=0x80d9808, data=0x0)
    at gtkwidget.c:7189
#15 0x001fa11d in gtk_box_forall (container=0x80b4800, include_internals=1, 
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkbox.c:1251
#16 0x00239d34 in IA__gtk_container_forall (container=0x80b4800, 
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkcontainer.c:1506
#17 0x0042d8b6 in reset_rc_styles_recurse (widget=0x80b4800, data=0x0)
    at gtkwidget.c:7189
#18 0x001f6f1b in gtk_bin_forall (container=0x8082220, include_internals=1, 
---Type <return> to continue, or q <return> to quit---
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkbin.c:141
#19 0x00239d34 in IA__gtk_container_forall (container=0x8082220, 
    callback=0x42d830 <reset_rc_styles_recurse>, callback_data=0x0)
    at gtkcontainer.c:1506
#20 0x0042d8b6 in reset_rc_styles_recurse (widget=0x8082220, data=0x0)
    at gtkwidget.c:7189
#21 0x0042d960 in IA__gtk_widget_reset_rc_styles (widget=0x8082220)
    at gtkwidget.c:7210
#22 0x0032e582 in gtk_rc_reset_widgets (settings=0x806dd60) at gtkrc.c:1637
#23 0x00acb588 in g_cclosure_marshal_VOID__PARAM (closure=0x80d7068, 
    return_value=0x0, n_param_values=2, param_values=0x80e4e28, 
    invocation_hint=0xbfffe080, marshal_data=0x0) at gmarshal.c:533
#24 0x00aaebe3 in g_closure_invoke (closure=0x80d7068, return_value=0x0, 
    n_param_values=2, param_values=0x80e4e28, invocation_hint=0xbfffe080)
    at gclosure.c:766
#25 0x00ac10f0 in signal_emit_unlocked_R (node=0x806afa8, detail=383, 
    instance=0x806dd60, emission_return=0x0, instance_and_params=0x80e4e28)
    at gsignal.c:3252
#26 0x00aca24e in g_signal_emit_valist (instance=0x806dd60, signal_id=1, 
    detail=383, var_args=0xbfffe240 "\244\067\301") at gsignal.c:2983
#27 0x00aca403 in g_signal_emit (instance=0x806dd60, signal_id=1, detail=383)
    at gsignal.c:3040
---Type <return> to continue, or q <return> to quit---
#28 0x00ab0891 in g_object_dispatch_properties_changed (object=0x806dd60, 
    n_pspecs=1, pspecs=0xbfffe2d0) at gobject.c:914
#29 0x00aafc70 in g_object_notify_dispatcher (object=0x806dd60, n_pspecs=1, 
    pspecs=0xbfffe2d0) at gobject.c:324
#30 0x00ab2be1 in g_object_notify_queue_thaw (object=0x806dd60, 
    property_name=0x4d6835 "gtk-icon-sizes") at gobjectnotifyqueue.c:132
#31 g_object_notify_by_spec_internal (object=0x806dd60, 
    property_name=0x4d6835 "gtk-icon-sizes") at gobject.c:972
#32 g_object_notify (object=0x806dd60, property_name=0x4d6835 "gtk-icon-sizes")
    at gobject.c:1013
#33 0x00357e3e in apply_queued_setting (data=0x806dd60, 
    pspec=<value optimized out>, qvalue=0x806df40) at gtksettings.c:1331
#34 0x003324b7 in gtk_rc_parse_statement (context=0x808ae68, 
    input_name=<value optimized out>, input_fd=-1, 
    input_string=0x80f4ffc "gtk-icon-theme-name=\"oxygen\"\ngtk-fallback-icon-theme=\"oxy-gnome\"\ngtk-icon-sizes = \"panel-menu = 16,16: panel = 32,32: gtk-small-toolbar = 22,22: gtk-large-toolbar = 22,22: gtk-dnd = 22,22: gtk-button "...) at gtkrc.c:2954
#35 gtk_rc_parse_any (context=0x808ae68, input_name=<value optimized out>, 
    input_fd=-1, 
    input_string=0x80f4ffc "gtk-icon-theme-name=\"oxygen\"\ngtk-fallback-icon-theme=\"oxy-gnome\"\ngtk-icon-sizes = \"panel-menu = 16,16: panel = 32,32: gtk-small-toolbar = 22,22: gtk-large-toolbar = 22,22: gtk-dnd = 22,22: gtk-button "...)---Type <return> to continue, or q <return> to quit---
 at gtkrc.c:2270
#36 0x003338c5 in gtk_rc_context_parse_string (
    rc_string=0x80f4ffc "gtk-icon-theme-name=\"oxygen\"\ngtk-fallback-icon-theme=\"oxy-gnome\"\ngtk-icon-sizes = \"panel-menu = 16,16: panel = 32,32: gtk-small-toolbar = 22,22: gtk-large-toolbar = 22,22: gtk-dnd = 22,22: gtk-button "...)
    at gtkrc.c:918
#37 IA__gtk_rc_parse_string (
    rc_string=0x80f4ffc "gtk-icon-theme-name=\"oxygen\"\ngtk-fallback-icon-theme=\"oxy-gnome\"\ngtk-icon-sizes = \"panel-menu = 16,16: panel = 32,32: gtk-small-toolbar = 22,22: gtk-large-toolbar = 22,22: gtk-dnd = 22,22: gtk-button "...)
    at gtkrc.c:940
#38 0x01108b29 in Oxygen::Gtk::RC::commit (this=0x8098508)
    at /usr/src/debug/oxygen-gtk-1.0.1/src/oxygengtkrc.cpp:38
#39 0x0111fc3f in Oxygen::QtSettings::initializeColors (this=0x80983d4)
    at /usr/src/debug/oxygen-gtk-1.0.1/src/oxygenqtsettings.cpp:201
#40 0x01158a33 in Oxygen::StyleWrapper::instanceInit (self=0x808e478)
    at /usr/src/debug/oxygen-gtk-1.0.1/src/oxygenstylewrapper.cpp:2901
#41 0x00ad4479 in g_type_create_instance (type=134841176) at gtype.c:1887
#42 0x00ab0e36 in g_object_constructor (type=134841176, 
    n_construct_properties=0, construct_params=0x0) at gobject.c:1597
#43 0x00ab45c7 in g_object_newv (object_type=134841176, n_parameters=0, 
    parameters=0x0) at gobject.c:1381
#44 0x00ab52f0 in g_object_new (object_type=134841176, first_property_name=0x0)
---Type <return> to continue, or q <return> to quit---
    at gobject.c:1293
#45 0x01122ae4 in Oxygen::RCStyle::createStyle (rc_style=0x80ada98)
    at /usr/src/debug/oxygen-gtk-1.0.1/src/oxygenrcstyle.cpp:41
#46 0x0032fdde in gtk_rc_style_to_style (rc_styles=0x80dc980, 
    context=<value optimized out>) at gtkrc.c:2388
#47 gtk_rc_init_style (rc_styles=0x80dc980, context=<value optimized out>)
    at gtkrc.c:2471
#48 0x00334c25 in IA__gtk_rc_get_style (widget=0x80e3818) at gtkrc.c:2025
#49 0x0042d820 in gtk_widget_reset_rc_style (widget=0x80e3818)
    at gtkwidget.c:6583
#50 0x003b1dad in gtk_text_view_ensure_layout (text_view=0x80e3818)
    at gtktextview.c:6471
#51 0x003b1f12 in gtk_text_view_update_layout_width (text_view=0x80e3818)
    at gtktextview.c:2096
#52 0x003b219d in gtk_text_view_value_changed (adj=0x0, text_view=0x80e3818)
    at gtktextview.c:7385
#53 0x002d8da9 in _gtk_marshal_VOID__OBJECT_OBJECT (closure=0x80ba858, 
    return_value=0x0, n_param_values=3, param_values=0x80814d8, 
    invocation_hint=0xbfffecd0, marshal_data=0x3b2510) at gtkmarshalers.c:2276
#54 0x00aad538 in g_type_class_meta_marshal (closure=0x80ba858, 
    return_value=0x0, n_param_values=3, param_values=0x80814d8, 
    invocation_hint=0xbfffecd0, marshal_data=0x1a0) at gclosure.c:877
#55 0x00aaebe3 in g_closure_invoke (closure=0x80ba858, return_value=0x0, 
---Type <return> to continue, or q <return> to quit---
    n_param_values=3, param_values=0x80814d8, invocation_hint=0xbfffecd0)
    at gclosure.c:766
#56 0x00ac0ef5 in signal_emit_unlocked_R (node=0x80ba890, detail=0, 
    instance=0x80e3818, emission_return=0x0, instance_and_params=0x80814d8)
    at gsignal.c:3290
#57 0x00aca24e in g_signal_emit_valist (instance=0x80e3818, signal_id=137, 
    detail=0, var_args=0xbfffee94 "\030\070\016\b\350\356\377\277\331Y2")
    at gsignal.c:2983
#58 0x00aca403 in g_signal_emit (instance=0x80e3818, signal_id=137, detail=0)
    at gsignal.c:3040
#59 0x00424aa1 in IA__gtk_widget_set_scroll_adjustments (widget=0x80e3818, 
    hadjustment=0x8081458, vadjustment=0x8081498) at gtkwidget.c:5077
#60 0x0034dff7 in gtk_scrolled_window_add (container=0x80d9808, 
    child=0x80e3818) at gtkscrolledwindow.c:1690
#61 0x00acb7c8 in g_cclosure_marshal_VOID__OBJECT (closure=0x808a5e8, 
    return_value=0x0, n_param_values=2, param_values=0x80d8f18, 
    invocation_hint=0xbffff0b0, marshal_data=0x34df00) at gmarshal.c:638
#62 0x00aad538 in g_type_class_meta_marshal (closure=0x808a5e8, 
    return_value=0x0, n_param_values=2, param_values=0x80d8f18, 
    invocation_hint=0xbffff0b0, marshal_data=0x16c) at gclosure.c:877
#63 0x00aaebe3 in g_closure_invoke (closure=0x808a5e8, return_value=0x0, 
    n_param_values=2, param_values=0x80d8f18, invocation_hint=0xbffff0b0)
    at gclosure.c:766
---Type <return> to continue, or q <return> to quit---
#64 0x00ac086e in signal_emit_unlocked_R (node=0x8078d08, detail=0, 
    instance=0x80d9808, emission_return=0x0, instance_and_params=0x80d8f18)
    at gsignal.c:3182
#65 0x00aca24e in g_signal_emit_valist (instance=0x80d9808, signal_id=80, 
    detail=0, var_args=0xbffff270 "ؘ\005\b(\223\004\b\001") at gsignal.c:2983
#66 0x00aca403 in g_signal_emit (instance=0x80d9808, signal_id=80, detail=0)
    at gsignal.c:3040
#67 0x0023902e in IA__gtk_container_add (container=0x80d9808, widget=0x80e3818)
    at gtkcontainer.c:1207
#68 0x0804d4b2 in create_main_window (sd=0x8084260) at window.c:128
#69 0x0804ce86 in create_new_process (argc=1, argv=0xbffff404) at main.c:171
#70 main (argc=1, argv=0xbffff404) at main.c:253
(gdb) 

Reproducible: Always
Comment 1 Hugo Pereira Da Costa 2011-01-31 06:43:38 UTC
Created attachment 56683 [details]
possible patch

The patch above fixes numpad, but I think it breaks color settings in other apps
(at least thats what the comments say, though I can't remember which app, or which distro). 

Please give a shot. I wont push until I am sure nothing else gets broken.
Comment 2 Hugo Pereira Da Costa 2011-01-31 10:05:30 UTC
For the record:
I found the commit that apparently makes the call to initializeColors() unnecessary:

25c7d1158ec8365344976af90b99cb186e43b6f3
- removed special handling of GtkSpinButton: was shrinking text contents and creating bugs.
- Removed oxygen-entry style from gtkrc: was not used anyway (overwritten in QtSettings)
- renamed oxygen-w5 into oxygen-entry-margins.

I believe the second bullet is what fixes it. 
So I'll remove the call (in both 1.0 and master), as well as the corresponding QtSettings function.

Will revert in case some issues show up.
Comment 3 Hugo Pereira Da Costa 2011-01-31 10:10:28 UTC
Git commit 903e5a48f29ae7263ea253c55a9b96b15f7ee85c by Hugo Pereira Da Costa.
Pushed by hpereiradacosta into branch '1.0'.

Removed QtSettings::initializeColors method.

Fixes crash in numpad (xfce simple text editor), and is (apparently) rendered unnecessary by commit 25c7d11
CCBUG: 264907

M  +0    -35   src/oxygenqtsettings.cpp     
M  +0    -3    src/oxygenqtsettings.h     
M  +0    -6    src/oxygenstylewrapper.cpp     

http://commits.kde.org/d1a86b4e/903e5a48f29ae7263ea253c55a9b96b15f7ee85c