summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-04-07 23:29:04 +0000
committerTim Janik <timj@src.gnome.org>1998-04-07 23:29:04 +0000
commit13de9dc34f6340cfb33632e717728919d5cec96f (patch)
tree7b3c2478935f2adcac3af384c3421cf22ce58978 /gtk
parent6788abaa48826759341f5524853ad24d61f32dcc (diff)
downloadgtk+-13de9dc34f6340cfb33632e717728919d5cec96f.tar.gz
don't take '\n' into account for size computation (Damon Chaplin).
Wed Apr 8 00:00:48 1998 Tim Janik <timj@gtk.org> * gtk/gtklabel.c (gtk_label_expose): don't take '\n' into account for size computation (Damon Chaplin). * gtk/gtkvscale.c (gtk_vscale_draw_value): adjusted static snprintf() buffer size to 32 characters (Damon Chaplin). * gtk/gtkhscale.c (gtk_hscale_draw_value): likewise. * gtk/gtkmain.c (gtk_main_iteration_do): gdk_flush() the X-queue if iteration_done==TRUE since we will most likely not get invoked again (Marius Vollmer).
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkhscale.c2
-rw-r--r--gtk/gtklabel.c7
-rw-r--r--gtk/gtkmain.c11
-rw-r--r--gtk/gtkvscale.c2
4 files changed, 17 insertions, 5 deletions
diff --git a/gtk/gtkhscale.c b/gtk/gtkhscale.c
index 3c1e42dbc1..334503044d 100644
--- a/gtk/gtkhscale.c
+++ b/gtk/gtkhscale.c
@@ -333,7 +333,7 @@ static void
gtk_hscale_draw_value (GtkScale *scale)
{
GtkStateType state_type;
- gchar buffer[16];
+ gchar buffer[32];
gint text_width;
gint width, height;
gint x, y;
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 0f30935ce7..2616c91d22 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -264,8 +264,9 @@ gtk_label_size_request (GtkWidget *widget,
{
if (row->next)
width = MAX (width,
- gdk_text_width (GTK_WIDGET (label)->style->font, row->data,
- (gchar*) row->next->data - (gchar*) row->data));
+ gdk_text_width (GTK_WIDGET (label)->style->font,
+ row->data,
+ (gchar*) row->next->data - (gchar*) row->data) - 1);
else
width = MAX (width, gdk_string_width (GTK_WIDGET (label)->style->font, row->data));
row = row->next;
@@ -322,7 +323,7 @@ gtk_label_expose (GtkWidget *widget,
row = label->row;
while (row && row->next)
{
- len = (gchar*) row->next->data - (gchar*) row->data;
+ len = (gchar*) row->next->data - (gchar*) row->data - 1;
offset = 0;
if (label->jtype == GTK_JUSTIFY_CENTER)
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index b48370d87c..aede3913d8 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -519,11 +519,19 @@ gtk_main_iteration_do (gboolean blocking)
if (current_timeouts)
{
gtk_handle_current_timeouts( gdk_time_get());
+
+ if (iteration_done)
+ gdk_flush ();
+
return iteration_done;
}
if (current_idles)
{
gtk_handle_current_idles ();
+
+ if (iteration_done)
+ gdk_flush ();
+
return iteration_done;
}
@@ -738,6 +746,9 @@ event_handling_done:
*/
gtk_handle_timeouts ();
+ if (iteration_done)
+ gdk_flush ();
+
return iteration_done;
}
diff --git a/gtk/gtkvscale.c b/gtk/gtkvscale.c
index 292d3a7bcb..8730581435 100644
--- a/gtk/gtkvscale.c
+++ b/gtk/gtkvscale.c
@@ -334,7 +334,7 @@ static void
gtk_vscale_draw_value (GtkScale *scale)
{
GtkStateType state_type;
- gchar buffer[16];
+ gchar buffer[32];
gint text_width;
gint width, height;
gint x, y;