summaryrefslogtreecommitdiff
path: root/pidgin
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-10 17:37:15 -0600
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2023-03-10 17:37:15 -0600
commitce9173bdcf6fad2c97fc53527ceea6b475b1497a (patch)
treee5a4f9a762aba8ab8f45423f2e0431b472860044 /pidgin
parent5c503c835674765e6bddb94ef34e931a02d930fe (diff)
downloadpidgin-ce9173bdcf6fad2c97fc53527ceea6b475b1497a.tar.gz
Make PurpleRequestFieldImage into a GObject
I'm not sure taking a `char*` and `gsize` is the best constructor; we can probably move this to `GdkPixbuf` or something now. Plus the properties would be nicer, and then it could change images on the fly. But that can happen later. Testing Done: Compiled and opened Request Fields from the Demo protocol Reviewed at https://reviews.imfreedom.org/r/2339/
Diffstat (limited to 'pidgin')
-rw-r--r--pidgin/gtkrequest.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/pidgin/gtkrequest.c b/pidgin/gtkrequest.c
index 08b5bffda1..bdb88586cd 100644
--- a/pidgin/gtkrequest.c
+++ b/pidgin/gtkrequest.c
@@ -1293,16 +1293,17 @@ create_choice_field(PurpleRequestField *field) {
static GtkWidget *
create_image_field(PurpleRequestField *field)
{
+ PurpleRequestFieldImage *ifield = PURPLE_REQUEST_FIELD_IMAGE(field);
GtkWidget *widget;
GdkPixbuf *buf, *scale;
buf = purple_gdk_pixbuf_from_data(
- (const guchar *)purple_request_field_image_get_buffer(field),
- purple_request_field_image_get_size(field));
+ (const guchar *)purple_request_field_image_get_buffer(ifield),
+ purple_request_field_image_get_size(ifield));
scale = gdk_pixbuf_scale_simple(buf,
- purple_request_field_image_get_scale_x(field) * gdk_pixbuf_get_width(buf),
- purple_request_field_image_get_scale_y(field) * gdk_pixbuf_get_height(buf),
+ purple_request_field_image_get_scale_x(ifield) * gdk_pixbuf_get_width(buf),
+ purple_request_field_image_get_scale_y(ifield) * gdk_pixbuf_get_height(buf),
GDK_INTERP_BILINEAR);
widget = gtk_image_new_from_pixbuf(scale);
g_object_unref(G_OBJECT(buf));
@@ -2155,9 +2156,9 @@ pidgin_request_fields(const char *title, const char *primary,
widget = create_choice_field(field);
} else if(PURPLE_IS_REQUEST_FIELD_LIST(field)) {
widget = create_list_field(field);
- } else if (type == PURPLE_REQUEST_FIELD_IMAGE)
+ } else if(PURPLE_IS_REQUEST_FIELD_IMAGE(field)) {
widget = create_image_field(field);
- else if(PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) {
+ } else if(PURPLE_IS_REQUEST_FIELD_ACCOUNT(field)) {
widget = create_account_field(field);
} else if (type == PURPLE_REQUEST_FIELD_DATASHEET)
widget = create_datasheet_field(field, datasheet_buttons_sg);