title: Changing Gtk.Label.Text does not always work
body: <p>I have a Gtk.Menu with 4 MenuItems. The following code is executed every second to change the Label.Text of each MenuItem:</p>
  
  <pre><code>double d = new Random().NextDouble();
  
  for (int i = 0; i &lt; 4; i++)
  {
      ((Label)((MenuItem)menu.Children[i]).Child).Text = d.ToString();
  }
  </code></pre>
  
  <p><em>I am using mono 2.10.8.1 with monodevelop 3.0.3.2 on ubuntu linux.</em></p>
  
  <p><strong>the issue</strong></p>
  
  <p>The problem is that not all Labels are getting updated (sometimes only the first and the second, sometimes only the first and the last).</p>
  
  <p><strong>my quick hack</strong></p>
  
  <p>I can overcome this issue by letting the thread sleep for 1 ms in each loop:</p>
  
  <pre><code>for (int i = 0; i &lt; 4; i++)
  {
      ((Label)((MenuItem)menu.Children[i]).Child).Text = d.ToString();
      Thread.Sleep(1); // HACK !!!
  }
  </code></pre>
  
  <p><strong>questions</strong></p>
  
  <ol>
  <li>What is the reason for this issue?</li>
  <li>What would be a better solution?</li>
  </ol>