mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-11 13:10:07 +00:00
Fix cut and paste typo where wrong pixmap was being unref'ed. (Pointed out
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix cut and paste typo where wrong pixmap was being unref'ed. (Pointed out by a friend of KUSANO Takayuki.) Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkselection.c (gtk_selection_bytes_per_item): Add helper function to compute format / bytes relationship. Use in a couple places to fix up errors which assume 8 * format. * gtk/gtkselection.c (gtk_selection_request): Use 32 rather than 8 * sizeof (GdkAtom), to work correctly on Alpha.
This commit is contained in:
parent
b166924b0c
commit
62e5119872
21
ChangeLog
21
ChangeLog
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -1,13 +1,24 @@
|
||||
Thu Jun 8 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Save cflags for all backends, not just X11.
|
||||
Sun Jun 11 12:46:19 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Elliot Lee <sopwith@redhat.com>
|
||||
* configure.in: Use $PANGO_CONFIG instead of pango-config
|
||||
* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
|
||||
cut and paste typo where wrong pixmap was being
|
||||
unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
|
||||
|
||||
Sun Jun 11 10:22:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_bytes_per_item):
|
||||
Add helper function to compute format / bytes
|
||||
relationship. Use in a couple places to fix up
|
||||
errors which assume 8 * format.
|
||||
|
||||
* gtk/gtkselection.c (gtk_selection_request): Use 32
|
||||
rather than 8 * sizeof (GdkAtom), to work correctly
|
||||
on Alpha.
|
||||
|
||||
Wed Jun 7 15:44:42 2000 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
|
||||
GTK+ from even building at all
|
||||
GTK+ from building at all.
|
||||
|
||||
* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
|
||||
|
||||
|
@ -2065,7 +2065,7 @@ gtk_drag_set_default_icon (GdkColormap *colormap,
|
||||
if (default_icon_pixmap)
|
||||
gdk_pixmap_unref (default_icon_pixmap);
|
||||
if (default_icon_mask)
|
||||
gdk_pixmap_unref (default_icon_pixmap);
|
||||
gdk_pixmap_unref (default_icon_mask);
|
||||
|
||||
default_icon_colormap = colormap;
|
||||
gdk_colormap_ref (colormap);
|
||||
|
@ -139,18 +139,21 @@ struct _GtkRetrievalInfo
|
||||
};
|
||||
|
||||
/* Local Functions */
|
||||
static void gtk_selection_init (void);
|
||||
static gint gtk_selection_incr_timeout (GtkIncrInfo *info);
|
||||
static gint gtk_selection_retrieval_timeout (GtkRetrievalInfo *info);
|
||||
static void gtk_selection_retrieval_report (GtkRetrievalInfo *info,
|
||||
GdkAtom type, gint format,
|
||||
guchar *buffer, gint length,
|
||||
guint32 time);
|
||||
static void gtk_selection_invoke_handler (GtkWidget *widget,
|
||||
GtkSelectionData *data,
|
||||
guint time);
|
||||
static void gtk_selection_default_handler (GtkWidget *widget,
|
||||
GtkSelectionData *data);
|
||||
static void gtk_selection_init (void);
|
||||
static gint gtk_selection_incr_timeout (GtkIncrInfo *info);
|
||||
static gint gtk_selection_retrieval_timeout (GtkRetrievalInfo *info);
|
||||
static void gtk_selection_retrieval_report (GtkRetrievalInfo *info,
|
||||
GdkAtom type,
|
||||
gint format,
|
||||
guchar *buffer,
|
||||
gint length,
|
||||
guint32 time);
|
||||
static void gtk_selection_invoke_handler (GtkWidget *widget,
|
||||
GtkSelectionData *data,
|
||||
guint time);
|
||||
static void gtk_selection_default_handler (GtkWidget *widget,
|
||||
GtkSelectionData *data);
|
||||
static int gtk_selection_bytes_per_item (gint format);
|
||||
|
||||
/* Local Data */
|
||||
static gint initialize = TRUE;
|
||||
@ -891,7 +894,7 @@ gtk_selection_request (GtkWidget *widget,
|
||||
for (i=0; i<info->num_conversions; i++)
|
||||
{
|
||||
GtkSelectionData data;
|
||||
gint items;
|
||||
glong items;
|
||||
|
||||
data.selection = event->selection;
|
||||
data.target = info->conversions[i].target;
|
||||
@ -916,7 +919,7 @@ gtk_selection_request (GtkWidget *widget,
|
||||
|
||||
g_return_val_if_fail ((data.format >= 8) && (data.format % 8 == 0), FALSE);
|
||||
|
||||
items = (data.length + data.format/8 - 1) / (data.format/8);
|
||||
items = data.length / gtk_selection_bytes_per_item (data.format);
|
||||
|
||||
if (data.length > GTK_SELECTION_MAX_SIZE)
|
||||
{
|
||||
@ -929,7 +932,7 @@ gtk_selection_request (GtkWidget *widget,
|
||||
gdk_property_change (info->requestor,
|
||||
info->conversions[i].property,
|
||||
gtk_selection_atoms[INCR],
|
||||
8*sizeof (GdkAtom),
|
||||
32,
|
||||
GDK_PROP_MODE_REPLACE,
|
||||
(guchar *)&items, 1);
|
||||
}
|
||||
@ -972,7 +975,7 @@ gtk_selection_request (GtkWidget *widget,
|
||||
if (event->target == gtk_selection_atoms[MULTIPLE])
|
||||
{
|
||||
gdk_property_change (info->requestor, event->property,
|
||||
GDK_SELECTION_TYPE_ATOM, 8*sizeof(GdkAtom),
|
||||
GDK_SELECTION_TYPE_ATOM, 32,
|
||||
GDK_PROP_MODE_REPLACE,
|
||||
mult_atoms, 2*info->num_conversions);
|
||||
g_free (mult_atoms);
|
||||
@ -1053,6 +1056,8 @@ gtk_selection_incr_event (GdkWindow *window,
|
||||
if (info->conversions[i].property == event->atom &&
|
||||
info->conversions[i].offset != -1)
|
||||
{
|
||||
int bytes_per_item;
|
||||
|
||||
info->idle_time = 0;
|
||||
|
||||
if (info->conversions[i].offset == -2) /* only the last 0-length
|
||||
@ -1081,13 +1086,14 @@ gtk_selection_incr_event (GdkWindow *window,
|
||||
num_bytes, info->conversions[i].offset,
|
||||
GDK_WINDOW_XWINDOW(info->requestor), event->atom);
|
||||
#endif
|
||||
|
||||
bytes_per_item = gtk_selection_bytes_per_item (info->conversions[i].data.format);
|
||||
gdk_property_change (info->requestor, event->atom,
|
||||
info->conversions[i].data.type,
|
||||
info->conversions[i].data.format,
|
||||
GDK_PROP_MODE_REPLACE,
|
||||
buffer,
|
||||
(num_bytes + info->conversions[i].data.format/8 - 1) /
|
||||
(info->conversions[i].data.format/8));
|
||||
buffer,
|
||||
num_bytes / bytes_per_item);
|
||||
|
||||
if (info->conversions[i].offset == -2)
|
||||
{
|
||||
@ -1517,11 +1523,13 @@ gtk_selection_default_handler (GtkWidget *widget,
|
||||
if ((selection_info->widget == widget) &&
|
||||
(selection_info->selection == data->selection))
|
||||
{
|
||||
gulong time = selection_info->time;
|
||||
|
||||
gtk_selection_data_set (data,
|
||||
GDK_SELECTION_TYPE_INTEGER,
|
||||
sizeof (guint32)*8,
|
||||
(guchar *)&selection_info->time,
|
||||
sizeof (guint32));
|
||||
32,
|
||||
(guchar *)&time,
|
||||
sizeof (time));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1544,7 +1552,7 @@ gtk_selection_default_handler (GtkWidget *widget,
|
||||
count = g_list_length (target_list->list) + 3;
|
||||
|
||||
data->type = GDK_SELECTION_TYPE_ATOM;
|
||||
data->format = 8*sizeof (GdkAtom);
|
||||
data->format = 32;
|
||||
data->length = count * sizeof (GdkAtom);
|
||||
|
||||
p = g_new (GdkAtom, count);
|
||||
@ -1590,3 +1598,23 @@ gtk_selection_data_free (GtkSelectionData *data)
|
||||
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
static int
|
||||
gtk_selection_bytes_per_item (gint format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case 8:
|
||||
return sizeof (char);
|
||||
break;
|
||||
case 16:
|
||||
return sizeof (short);
|
||||
break;
|
||||
case 32:
|
||||
return sizeof (long);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user