Commit 3cabc8b4 authored by Sven Neumann's avatar Sven Neumann

fixed bug #2518


--Sven
parent f0ae0dcc
Sun Feb 13 15:23:03 CET 2000 Sven Neumann <sven@gimp.org>
* app/channel_dialog.c
* app/layers_dialog.c: provided a proper fix for bug #2518
2000-02-13 Michael Natterer <mitch@gimp.org>
* app/brush_select.c
......
......@@ -1608,16 +1608,15 @@ channel_widget_drag_drop_callback (GtkWidget *widget,
gint src_index;
gint difference;
GimpDropType drop_type = GIMP_DROP_NONE;
gboolean return_val = FALSE;
GimpDropType drop_type = GIMP_DROP_NONE;
gboolean return_val = FALSE;
dest = (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
if (dest &&
(src_widget = gtk_drag_get_source_widget (context)))
{
src
= (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
src = (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
if (src &&
src->channel == channelsD->active_channel)
......@@ -1903,6 +1902,10 @@ channel_widget_button_events (GtkWidget *widget,
if (button_down && (event_widget == click_widget))
{
/* the user moved the cursor out of the widget before
releasing the button -> cancel the button_press */
button_down = FALSE;
if (widget == channel_widget->eye_widget)
{
if (exclusive)
......
......@@ -1608,16 +1608,15 @@ channel_widget_drag_drop_callback (GtkWidget *widget,
gint src_index;
gint difference;
GimpDropType drop_type = GIMP_DROP_NONE;
gboolean return_val = FALSE;
GimpDropType drop_type = GIMP_DROP_NONE;
gboolean return_val = FALSE;
dest = (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (widget));
if (dest &&
(src_widget = gtk_drag_get_source_widget (context)))
{
src
= (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
src = (ChannelWidget *) gtk_object_get_user_data (GTK_OBJECT (src_widget));
if (src &&
src->channel == channelsD->active_channel)
......@@ -1903,6 +1902,10 @@ channel_widget_button_events (GtkWidget *widget,
if (button_down && (event_widget == click_widget))
{
/* the user moved the cursor out of the widget before
releasing the button -> cancel the button_press */
button_down = FALSE;
if (widget == channel_widget->eye_widget)
{
if (exclusive)
......
......@@ -2104,7 +2104,6 @@ layer_widget_create (GImage *gimage,
GTK_DEST_DEFAULT_ALL,
layer_target_table, n_layer_targets,
GDK_ACTION_MOVE);
gtk_signal_connect (GTK_OBJECT (list_item), "drag_leave",
GTK_SIGNAL_FUNC (layer_widget_drag_leave_callback),
NULL);
......@@ -2513,14 +2512,19 @@ layer_widget_button_events (GtkWidget *widget,
case GDK_LEAVE_NOTIFY:
event_widget = gtk_get_event_widget (event);
if (button_down && (event_widget == click_widget))
if (button_down && (event_widget == click_widget))
{
/* the user moved the cursor out of the widget before
releasing the button -> cancel the button_press */
button_down = FALSE;
if (widget == layer_widget->eye_widget)
{
if (exclusive)
{
layer_widget_exclusive_visible (layer_widget);
}
else
{
GIMP_DRAWABLE (layer_widget->layer)->visible =
......
......@@ -2104,7 +2104,6 @@ layer_widget_create (GImage *gimage,
GTK_DEST_DEFAULT_ALL,
layer_target_table, n_layer_targets,
GDK_ACTION_MOVE);
gtk_signal_connect (GTK_OBJECT (list_item), "drag_leave",
GTK_SIGNAL_FUNC (layer_widget_drag_leave_callback),
NULL);
......@@ -2513,14 +2512,19 @@ layer_widget_button_events (GtkWidget *widget,
case GDK_LEAVE_NOTIFY:
event_widget = gtk_get_event_widget (event);
if (button_down && (event_widget == click_widget))
if (button_down && (event_widget == click_widget))
{
/* the user moved the cursor out of the widget before
releasing the button -> cancel the button_press */
button_down = FALSE;
if (widget == layer_widget->eye_widget)
{
if (exclusive)
{
layer_widget_exclusive_visible (layer_widget);
}
else
{
GIMP_DRAWABLE (layer_widget->layer)->visible =
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment