<div dir="ltr">Hola,<br><div><div class="gmail_extra"><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>
<div>estoy haciendo un programa para mostrar, la parte del interface la estoy haciendo separada del componente para después juntarlos, el problema es que a la hora de dibujar las lineas me da un fallo que no como arreglarlo. lo único que quiero es pintar una linea en el área de dibujo, pero me da un fallo de violación de segmento en la linea 22 del archivo main.cc que es donde indico el ancho de la linea a dibujar.</div>

</div><div><br></div><div>Todos los ficheros están en <a href="https://svn.jderobot.org/users/jcheca/pfc-itis/trunk/" target="_blank">https://svn.jderobot.org/users/jcheca/pfc-itis/trunk/</a></div><div>con el .sh que es la linea de compilación.</div>
</div></blockquote><div><br></div><div>Me acabo de bajar tu código y, sin acritud ninguna, creo que te deberías de aclarar contigo mismo a la hora de programar. Tienes una variable global llamada &quot;cr&quot; que es un Cairo::RefPtr&lt;Cairo::Context&gt;, es decir, un puntero a Cairo::Context. Por otra parte, tienes en el main una variable local que es un puntero a DrawingArea llamada de la misma manera (&quot;cr&quot;), lo que no es buena idea, y es entonces cuando cargas el widget llamado &quot;dibujo&quot; de tu fichero .glade. Eso último sí que lo estás haciendo bien, pero lo estás haciendo bien con respecto a la variable local &quot;cr&quot;, no la global.<br>
<br></div><div>Una vez ejecuta el código tienes que tener en cuenta que en ningún caso tu variable global &quot;cr&quot; (el puntero a Cairo::Context) está inicializada, ya que no lo has hecho. Así, cuando vas a poner un ancho a la línea que quieres dibujar te da un fallo de segmentación...<br>
<br></div><div>Te recomiendo que antes de empezar a jugar con Cairo le eches un vistazo al tutorial de Gtk3 [1] (muy completo, por cierto) y, en concreto, a la parte en la que habla de los DrawingArea [2] para que veas ejemplos sobre cómo utilizar este tipo de widgets.<br>
<br></div><div>Un saludo,<br><br></div><div>Borja.<br><br>[1] - <a href="https://developer.gnome.org/gtkmm-tutorial/stable/">https://developer.gnome.org/gtkmm-tutorial/stable/</a><br>[2] - <a href="https://developer.gnome.org/gtkmm-tutorial/stable/chapter-drawingarea.html.es">https://developer.gnome.org/gtkmm-tutorial/stable/chapter-drawingarea.html.es</a><br>
</div></div></div></div></div>