aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2004-02-03 23:24:40 +0800
committerChris Toshok <toshok@src.gnome.org>2004-02-03 23:24:40 +0800
commitdd5a050770d1e0d53c3280356af5ff6ddf383567 (patch)
tree2a4d68d77d3c1234ddf061e7412bc8d2b136228f
parent9c080b3f3a2664f8336557ea9ed16cd72cf93a0b (diff)
downloadgsoc2013-evolution-dd5a050770d1e0d53c3280356af5ff6ddf383567.tar.gz
gsoc2013-evolution-dd5a050770d1e0d53c3280356af5ff6ddf383567.tar.zst
gsoc2013-evolution-dd5a050770d1e0d53c3280356af5ff6ddf383567.zip
it's possible to get to this function without the EText ever being
2004-02-03 Chris Toshok <toshok@ximian.com> * gal/e-text/e-text.c (e_text_command): it's possible to get to this function without the EText ever being realized. Since we create the layout in realize(), let's just create it here too. Fixes crash bug 46165 (aka "The Bug with a million dups"). svn path=/trunk/; revision=24579
-rw-r--r--widgets/text/e-text.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index 45d43ac523..93fd9d0120 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -3255,6 +3255,13 @@ e_text_command(ETextEventProcessor *tep, ETextEventProcessorCommand *command, gp
break;
}
+ /* it's possible to get here without ever having been realized
+ by our canvas (if the e-text started completely obscured.)
+ so let's create our layout object if we don't already have
+ one. */
+ if (!text->layout)
+ create_layout (text);
+
if (scroll && !text->button_down) {
/* XXX do we really need the @trailing logic here? if
we don't we can scrap the loop and just use