title: Cannot make callbacks in IUP work as expected
body: <p>I play with IUP GUI and now have the following issue.
  Please consider the code.</p>
  <pre><code>#include &lt;stdlib.h&gt;
  #include &lt;iup.h&gt;
  
  
  int btn_exit_cb( Ihandle *self )
  {
       /* Exits the main loop */
       return IUP_CLOSE;
  }
  
  
  
  
  
  
  int  change_color_cb(Ihandle *self)
  {
       Ihandle* thisSep = IupGetDialogChild(self, &quot;MYSEP&quot;);
  //     IupSetAttribute (thisSep, &quot;COLOR&quot;, &quot;0 255 0&quot;);
       IupSetAttribute (thisSep, &quot;STYLE&quot;, &quot;GRIP&quot;);
       return IUP_DEFAULT;
  }
  
  
  
  
  int change_color2_cb(Ihandle *self)
  {
       Ihandle* thisSep = IupGetDialogChild(self, &quot;MYSEP&quot;);
  
       IupSetAttribute (thisSep, &quot;STYLE&quot;, &quot;FILL&quot;); // this works.
  //     IupSetAttribute (thisSep, &quot;COLOR&quot;, &quot;255 0 0&quot;);
       return IUP_DEFAULT;
  }
  
  int main(int argc, char **argv)
  {
       Ihandle *dlg, *button, *label, *vbox, *flatSep;
  
  
       IupOpen(&amp;argc, &amp;argv);
  
       label =  IupLabel(&quot;Hello world from IUP!&quot;);
  
       flatSep = IupFlatSeparator();
       IupSetAttribute(flatSep, &quot;COLOR&quot;, &quot;255 0 0&quot;);
       IupSetAttribute(flatSep, &quot;BARSIZE&quot;, &quot;25&quot;);
       IupSetAttribute(flatSep, &quot;ORIENTATION&quot;, &quot;HORIZONTAL&quot;);
  
       IupSetAttribute(flatSep, &quot;STYLE&quot;, &quot;FILL&quot;);
       IupSetAttribute(flatSep, &quot;NAME&quot;, &quot;MYSEP&quot;);
  
       button = IupButton(&quot;OK&quot;, NULL);
  
       vbox = IupVbox(
           label,
           flatSep,
           button,
           NULL);
  
  
       IupSetAttribute(vbox, &quot;ALIGNMENT&quot;, &quot;ACENTER&quot;);
       IupSetAttribute(vbox, &quot;GAP&quot;, &quot;10&quot;);
       IupSetAttribute(vbox, &quot;MARGIN&quot;, &quot;10x10&quot;);
  
  
  
       dlg = IupDialog(vbox);
       IupSetAttribute(dlg, &quot;TITLE&quot;, &quot;Hello World 5&quot;);
  
       /* Registers callbacks */
  
       IupSetCallback(dlg, &quot;K_UP&quot;, (Icallback) change_color_cb);
       IupSetCallback(dlg, &quot;K_DOWN&quot;, (Icallback) change_color2_cb);
       IupSetCallback(button, &quot;ACTION&quot;, (Icallback) btn_exit_cb);
  
  
       IupShowXY(dlg, IUP_CENTER, IUP_CENTER);
  
       IupMainLoop();
  
       IupClose();
       return EXIT_SUCCESS;
  }
  </code></pre>
  <p>The callbacks <code>change_color_cb()</code> and <code>change_color2_cb()</code> are intended to change the color of the <code>IupFlatSeparator</code>.
  This fails. Another attribute (<code>STYLE</code>) can in fact be changed with these callbacks. An interesting thing (for me): after changing the attribute <code>STYLE</code> in <code>change_color_cb()</code> and call to <code>change_color2_cb()</code> the color does change to <code>rgb(0 255 0)</code> (now commented out) but only once.</p>
  <p>What am I doing wrong? Thanks in advance!</p>