WOW! Dimitrov!!! Worked perfectly!!!! Thanks very very much!!! But, did you (or anyone) understand what happened? You have used another way to build a matrix (an array of arrays). Whynot the original matrix worked? Well, anyway, thanks a lot again! Best regards! Carlos On Sun, Oct 26, 2008 at 6:34 PM, Димитров Вячеслав <bordimida@xxxxxxx> wrote:> On Sun, 26 Oct 2008 21:01:29 +0300, Carlos Pereira <carlao2005@xxxxxxxxx>> wrote:>>>>> Is there any difference in the way c++ treats matrices, from how c treats>> them??>>> I try to define drops_regras with calloc and code work correctly, but may be> i don't understand you right:>> GtkWidget ***drops_regras = NULL;> int j;> drops_regras = (GtkWidget ***)calloc(MAIN_nregras,> sizeof(GtkWidget**));> for(j=0; j < MAIN_nregras; j++)> {> drops_regras[j] = (GtkWidget **)calloc(MAIN_narq_ent + 1,> sizeof(GtkWidget*));> }>> =======================================> Full my example:>> void processa_sistema(GtkWidget *widget, gpointer pacote[])> {> GtkWidget ***drops_regras = (GtkWidget ***)pacote[0];> printf( "%d\n", gtk_combo_box_get_active(> GTK_COMBO_BOX(drops_regras[0][0] ) ) );>> }>> int main (int argc, char* argv[])> {> int MAIN_nregras = 6;> int MAIN_narq_ent = 3;> gtk_init (&argc, &argv);>> GtkWidget *main_table = gtk_table_new(MAIN_nregras, MAIN_narq_ent,> true);> GtkWidget ***drops_regras = NULL;> int j;> drops_regras = (GtkWidget ***)calloc(MAIN_nregras,> sizeof(GtkWidget**));> for(j=0; j < MAIN_nregras; j++)> {> drops_regras[j] = (GtkWidget **)calloc(MAIN_narq_ent + 1,> sizeof(GtkWidget*));> }> GtkAttachOptions gtk_attach_options_x;> GtkAttachOptions gtk_attach_options_y;> int coluna, linha;>> for(coluna=0; coluna < MAIN_narq_ent + 1; coluna++)> {> for(linha=0; linha < MAIN_nregras; linha++)> {> drops_regras[linha][coluna] = gtk_combo_box_new();> gtk_table_attach(GTK_TABLE(main_table),> GTK_WIDGET(drops_regras[linha][coluna]),> coluna + 1,> coluna + 2,> linha + 1,> linha + 2,> gtk_attach_options_x,> gtk_attach_options_y,> 1, 5);> }> }>> gpointer pacote2[1];> pacote2[0] = drops_regras;>> GtkWidget *button = gtk_button_new_with_label ("Press");> g_signal_connect(G_OBJECT(button), "clicked",> G_CALLBACK(processa_sistema), pacote2);> GtkWidget* vbox = gtk_vbox_new (FALSE, 0);>> GtkWidget *main_window = create_window ();> gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (main_table), TRUE,> TRUE, 0);> gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (button), TRUE, TRUE,> 0);> gtk_container_add (GTK_CONTAINER (main_window), vbox);>> gtk_widget_show_all (main_window);>> gtk_main ();> }>> -->> Dimitrov V.> _______________________________________________> gtk-list mailing list> gtk-list@xxxxxxxxx> http://mail.gnome.org/mailman/listinfo/gtk-list> -- =============================================Carlos José de Almeida PereiraIlhéus - Bahia - Brasil BLOG: http://starfightercarlao.blogspot.com http://starfightercarlaoenglish.blogspot.com (english version) "Felicidade se acha é em horinhas de descuido." "Qualquer amor já é um pouquinho de saúde, um descanso na loucura." (Guimarães Rosa, ambas)_______________________________________________gtk-list mailing listgtk-list@xxxxxxxxxxxxx://mail.gnome.org/mailman/listinfo/gtk-list