decvar
			
				написал 4 апреля 2004 года в 21:46 (1081 просмотр)
			
			
			Ведет себя
			 как мужчина; открыл 111 тему в форуме, оставил 1838 комментариев на сайте.			
	
	Не знаю, есть ли смысл спрашивать здесь о тоекостях работы GObject…но поскольку я не знаю ни одного толкого форума по НЕ-виндовс программированию — спрашиваю здесь.
GtkWidget *list1; .... ... list1 = gtk_list_new (); gtk_widget_show (list1); gtk_container_add (GTK_CONTAINER (frame1), list1); gtk_widget_set_size_request (list1, 150, 195); gtk_container_set_border_width (GTK_CONTAINER (list1), 10); .... ....
По доке из devhelp сказанно, что его элементы — GList. По другой(с developer.gnome.org) его элементы — GtkListItem….самое странно, что при компиляции нет ошибок на оба варианта, но оба варианта выпадают в SegFault…
char items[BUFSIZ];
GtkListItem *ViewItems[5];
...
....
file=open("/home/decvar/rapid/items",O_RDONLY);
      if (file<0)
      {
            perror("Can't load items file"); exit(2);
      }
      /*read Install items file*/
      nread = read(file,items,BUFSIZ);
      if (nread<0)
      {
            perror("Cant read items file");exit(3);
      }
....
....
/*      parcing items file */
      
      printf("DEBUG:\nstrtok:\n");  //debug
      temp = strtok(items,"$");
      i=0;
      while (temp!=NULL){
            printf(" I:%d \n %s\n",i,temp);  //debug
            ViewItems[i]=gtk_list_item_new_with_label(temp);
            temp = strtok(NULL, "$");
            i++;
      }
      printf("%s",ViewItems[0]);
gtk_list_append_items(list1,ViewItems);
При замене
GtkListItem *ViewItems[5] -> Glist *ViewItems[5]
gtk_list_item_new_with_label(temp) -> g_list_append(ViewItems, temp).
все собирает и не матрится, тока то же SegFault…
Если нужна еще инфа — положу…
Последние комментарии
-  
        
            OlegL, 17 декабря 2023 года в 15:00            →
        
        
            Перекличка
            21
        
  -  
        
            REDkiy, 8 июня 2023 года в 9:09            →
        
        
            Как «замокать» файл для юниттеста в Python?
            2
        
  -  
        
            fhunter, 29 ноября 2022 года в 2:09            →
        
        
            Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
            6
        
  -  
        
            Иванн, 9 апреля 2022 года в 8:31            →
        
        
            Ассоциация РАСПО провела первое учредительное собрание
            1
        
  -  
        
            Kiri11.ADV1, 7 марта 2021 года в 12:01            →
        
        
            Логи catalina.out в TomCat 9 в формате JSON
            1
        
  
DevOps as a Service from Palark
	24/7 SRE & DevOps service to cover all your Kubernetes needs.

Я в GTK не рублю, но просто интересно, а где именно прога сегфолтает? Попробуй каким-нить дебаггером подцепить гнилую функцию…
Good Luck,
UT
В последней функции, причем в обоих вариантах. Так что вопрос в том кто есть child для GtkList?
Возможно это
GtList
|->GtkListItem
|->GList
Так что вопрос именно про тонкости в GTK.
Возмозно я на все плюну, и буду просто другой виджет пользовать….осталось понять — какой?
Проблема решилось заменой GtkList на GtkTree*
да и красивее заметно получилось, и список не плоский….
короче DevHelp рулит!