Fix problem where computation was depending on widget->allocation instead
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation was depending on widget->allocation instead of the width of text_area, which was incorrect for subclasses like GtkSpinButton. * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos with width == 1 tests that should be width == -1.
This commit is contained in:
parent
44afc537b3
commit
e9a03443c7
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
Mon Jul 31 18:37:36 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
|
||||||
|
was depending on widget->allocation instead of the width of text_area,
|
||||||
|
which was incorrect for subclasses like GtkSpinButton.
|
||||||
|
|
||||||
|
* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
|
||||||
|
with width == 1 tests that should be width == -1.
|
||||||
|
|
||||||
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
Mon Jul 31 16:45:48 2000 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
|
||||||
|
@ -278,9 +278,9 @@ gdk_draw_layout (GdkDrawable *drawable,
|
|||||||
|
|
||||||
pango_layout_line_get_extents (line, NULL, &logical_rect);
|
pango_layout_line_get_extents (line, NULL, &logical_rect);
|
||||||
|
|
||||||
if (width != 1 && align == PANGO_ALIGN_RIGHT)
|
if (width != -1 && align == PANGO_ALIGN_RIGHT)
|
||||||
x_offset = width - logical_rect.width;
|
x_offset = width - logical_rect.width;
|
||||||
else if (width != 1 && align == PANGO_ALIGN_CENTER)
|
else if (width != -1 && align == PANGO_ALIGN_CENTER)
|
||||||
x_offset = (width - logical_rect.width) / 2;
|
x_offset = (width - logical_rect.width) / 2;
|
||||||
else
|
else
|
||||||
x_offset = 0;
|
x_offset = 0;
|
||||||
|
@ -589,6 +589,8 @@ gtk_entry_realize (GtkWidget *widget)
|
|||||||
gtk_editable_claim_selection (editable, TRUE, GDK_CURRENT_TIME);
|
gtk_editable_claim_selection (editable, TRUE, GDK_CURRENT_TIME);
|
||||||
|
|
||||||
gtk_im_context_set_client_window (entry->im_context, entry->text_area);
|
gtk_im_context_set_client_window (entry->im_context, entry->text_area);
|
||||||
|
|
||||||
|
entry_adjust_scroll (entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -723,11 +725,10 @@ gtk_entry_size_allocate (GtkWidget *widget,
|
|||||||
allocation->width - widget->style->xthickness * 2,
|
allocation->width - widget->style->xthickness * 2,
|
||||||
requisition.height - widget->style->ythickness * 2);
|
requisition.height - widget->style->ythickness * 2);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* And make sure the cursor is on screen */
|
/* And make sure the cursor is on screen */
|
||||||
entry_adjust_scroll (entry);
|
entry_adjust_scroll (entry);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_entry_draw (GtkWidget *widget,
|
gtk_entry_draw (GtkWidget *widget,
|
||||||
@ -1387,11 +1388,13 @@ entry_adjust_scroll (GtkEntry *entry)
|
|||||||
g_return_if_fail (GTK_IS_ENTRY (entry));
|
g_return_if_fail (GTK_IS_ENTRY (entry));
|
||||||
|
|
||||||
widget = GTK_WIDGET (entry);
|
widget = GTK_WIDGET (entry);
|
||||||
text_area_width = widget->allocation.width - 2 * (widget->style->xthickness + INNER_BORDER);
|
|
||||||
|
|
||||||
if (!entry->layout)
|
if (!entry->layout || !GTK_WIDGET_REALIZED (entry))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
gdk_window_get_size (entry->text_area, &text_area_width, NULL);
|
||||||
|
text_area_width -= 2 * INNER_BORDER;
|
||||||
|
|
||||||
line = pango_layout_get_lines (entry->layout)->data;
|
line = pango_layout_get_lines (entry->layout)->data;
|
||||||
|
|
||||||
/* Display as much text as we can */
|
/* Display as much text as we can */
|
||||||
|
Loading…
Reference in New Issue
Block a user