[Pidgin] #16542: GTK interface crashes when editing pasted HTML
Pidgin
trac at pidgin.im
Tue Jan 20 11:36:44 EST 2015
#16542: GTK interface crashes when editing pasted HTML
----------------------+---------------------------
Reporter: Boozam1k | Owner:
Type: defect | Status: new
Milestone: | Component: pidgin (gtk)
Version: 2.10.11 | Resolution:
Keywords: html |
----------------------+---------------------------
Comment (by Boozam1k):
Only by reading the last backtrace, I find that line 414 of gtkimhtml.c
(pidgin)
{{{
GtkIMHtmlScalable *scale = GTK_IMHTML_SCALABLE(sd->scalable);
scale->scale(scale, rect.width - xminus, rect.height); // line 414
}}}
effectively calls a function in `gtkwidget.c` (gtk2.0), which has this
signature:
{{{
void
gtk_widget_set_size_request (GtkWidget *widget,
gint width,
gint height)
{
}}}
However, as defined in line 200 of `gtkimhtml.h` (pidgin), the expected
signature is:
{{{
struct _GtkIMHtmlScalable {
void (*scale)(struct _GtkIMHtmlScalable *, int, int);
// ...
}}}
I don't know about C and all the black magic involved, but to me this
looks like a mismatch: `gtkimhtml.c` defines that the `scale` function can
take a `* _GtkIMHtmlScalable` as
the first argument. But somewhere the function pointer was set to
`gtk_widget_set_size_request`: I don't see why and how this can be
correct? (or the bug happened before and this is only the symptom, not the
cause)
I never did object oriented programming in
C, so I may be missing some of the magic involved. Please enlighten me :)
--
Ticket URL: <https://developer.pidgin.im/ticket/16542#comment:4>
Pidgin <https://pidgin.im>
Pidgin
More information about the Tracker
mailing list