tgid
authorcompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Wed, 21 Jun 2006 19:33:56 +0000 (19:33 +0000)
committercompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Wed, 21 Jun 2006 19:33:56 +0000 (19:33 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@1946 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/configure.in
ltt/branches/poly/ltt/type.h
ltt/branches/poly/lttv/lttv/print.c
ltt/branches/poly/lttv/lttv/state.c
ltt/branches/poly/lttv/lttv/state.h
ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c
ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c
ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h
ltt/branches/poly/lttv/modules/gui/tutorial/.deps/tutorial.Plo
ltt/branches/poly/lttv/modules/text/textFilter.c

index 5116aeb55cd43f1657c5d515d8ef8678c028cc91..1f912cddbcf3a7974f821a59874920d651aa4b50 100644 (file)
@@ -126,8 +126,9 @@ AC_CONFIG_FILES([Makefile
                 lttv/modules/gui/detailedevents/Makefile
                 lttv/modules/gui/statistics/Makefile
                 lttv/modules/gui/histogram/Makefile
-     lttv/modules/gui/filter/Makefile
-     lttv/modules/gui/tracecontrol/Makefile
+                 lttv/modules/gui/filter/Makefile
+                 lttv/modules/gui/tracecontrol/Makefile
+                 lttv/modules/gui/tutorial/Makefile
                 ltt/Makefile
      doc/Makefile
      doc/developer/Makefile
index 0ff3dfe062297c8e405f59e8a8dab440e0ecf7dd..2c429a5220e33415ce83e31105cfa16d6a1411b4 100644 (file)
@@ -61,7 +61,7 @@ LttType *ltt_type_element_type(LttType *t);
 
 /* The number of elements for arrays. */
 
-//unsigned ltt_type_element_number(LttType *t);
+unsigned ltt_type_element_number(LttType *t);
 
 
 /* The number of data members for structures and unions. */
index f51e7b6e97f6bc0092c29ad5e1fe69026e822b60..ff9116a4c30342d0fdfd9211a1edf37ae7efef5b 100644 (file)
@@ -250,7 +250,8 @@ void lttv_event_to_string(LttEvent *e, GString *s,
         g_quark_to_string(ltt_tracefile_name(tfs->parent.tf)),
         cpu);
     /* Print the process id and the state/interrupt type of the process */
-    g_string_append_printf(s,", %u, %s, %s, %u, 0x%llX, %s", process->pid,
+    g_string_append_printf(s,", %u, %u, %s, %s, %u, 0x%llX, %s", process->pid,
+        process->tgid,
         g_quark_to_string(process->name),
         g_quark_to_string(process->brand),
         process->ppid, process->current_function,
index 3c6fe3ace62297fda2467e5931f8d4f921fa8ed3..af0e89720aa4e2e12fe4275c15189a2c4e7b8ffd 100644 (file)
@@ -77,6 +77,7 @@ GQuark
     LTT_FIELD_PARENT_PID,
     LTT_FIELD_CHILD_PID,
     LTT_FIELD_PID,
+    LTT_FIELD_TGID,
     LTT_FIELD_FILENAME,
     LTT_FIELD_NAME,
     LTT_FIELD_TYPE,
@@ -230,7 +231,7 @@ restore_init_state(LttvTraceState *self)
   
   /* Put the per cpu running_process to beginning state : process 0. */
   for(i=0; i< nb_cpus; i++) {
-    self->running_process[i] = lttv_state_create_process(self, NULL, i, 0,
+    self->running_process[i] = lttv_state_create_process(self, NULL, i, 0, 0,
         LTTV_STATE_UNNAMED, &start_time);
     self->running_process[i]->state->s = LTTV_STATE_RUN;
     self->running_process[i]->cpu = i;
@@ -1184,7 +1185,7 @@ static LttvTracefileState *ltt_state_usertrace_find(LttvTraceState *tcs,
 
 LttvProcessState *
 lttv_state_create_process(LttvTraceState *tcs, LttvProcessState *parent, 
-    guint cpu, guint pid, GQuark name, const LttTime *timestamp)
+    guint cpu, guint pid, guint tgid, GQuark name, const LttTime *timestamp)
 {
   LttvProcessState *process = g_new(LttvProcessState, 1);
 
@@ -1195,6 +1196,7 @@ lttv_state_create_process(LttvTraceState *tcs, LttvProcessState *parent,
   char buffer[128];
 
   process->pid = pid;
+  process->tgid = tgid;
   process->cpu = cpu;
   process->name = name;
   process->brand = LTTV_STATE_UNBRANDED;
@@ -1280,7 +1282,7 @@ lttv_state_find_process_or_create(LttvTraceState *ts, guint cpu, guint pid,
   /* Put ltt_time_zero creation time for unexisting processes */
   if(unlikely(process == NULL)) {
     process = lttv_state_create_process(ts,
-                NULL, cpu, pid, LTTV_STATE_UNNAMED, timestamp);
+                NULL, cpu, pid, 0, LTTV_STATE_UNNAMED, timestamp);
     /* We are not sure is it's a kernel thread or normal thread, put the
       * bottom stack state to unknown */
     es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
@@ -1378,7 +1380,7 @@ static gboolean trap_entry(void *hook_data, void *call_data)
   } else {
     /* Fixup an incomplete trap table */
     GString *string = g_string_new("");
-    g_string_printf(string, "trap %u", trap);
+    g_string_printf(string, "trap %llu", trap);
     submode = g_quark_from_string(string->str);
     g_string_free(string, TRUE);
   }
@@ -1608,7 +1610,8 @@ static gboolean process_fork(void *hook_data, void *call_data)
   LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
   LttvTraceHookByFacility *thf = (LttvTraceHookByFacility *)hook_data;
   guint parent_pid;
-  guint child_pid;
+  guint child_pid;  /* In the Linux Kernel, there is one PID per thread. */
+  guint child_tgid;  /* tgid in the Linux kernel is the "real" POSIX PID. */
   LttvProcessState *zombie_process;
   guint cpu = s->cpu;
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
@@ -1621,6 +1624,10 @@ static gboolean process_fork(void *hook_data, void *call_data)
   /* Child PID */
   child_pid = ltt_event_get_unsigned(e, thf->f2);
 
+  /* Child TGID */
+  if(thf->f3) child_tgid = ltt_event_get_unsigned(e, thf->f3);
+  else child_tgid = 0;
+
   /* Mathieu : it seems like the process might have been scheduled in before the
    * fork, and, in a rare case, might be the current process. This might happen
    * in a SMP case where we don't have enough precision on the clocks.
@@ -1648,7 +1655,8 @@ static gboolean process_fork(void *hook_data, void *call_data)
   child_process = lttv_state_find_process(ts, ANY_CPU, child_pid);
   if(child_process == NULL) {
     child_process = lttv_state_create_process(ts, process, cpu,
-                              child_pid, LTTV_STATE_UNNAMED, &s->parent.timestamp);
+                              child_pid, child_tgid, 
+                              LTTV_STATE_UNNAMED, &s->parent.timestamp);
   } else {
     /* The process has already been created :  due to time imprecision between
      * multiple CPUs : it has been scheduled in before creation. Note that we
@@ -1659,6 +1667,7 @@ static gboolean process_fork(void *hook_data, void *call_data)
     g_assert(0); /* This is a problematic case : the process has been created
                     before the fork event */
     child_process->ppid = process->pid;
+    child_process->tgid = child_tgid;
   }
   g_assert(child_process->name == LTTV_STATE_UNNAMED);
   child_process->name = process->name;
@@ -1811,12 +1820,13 @@ static gboolean enum_process_state(void *hook_data, void *call_data)
   LttvTraceHookByFacility *thf = (LttvTraceHookByFacility *)hook_data;
   guint parent_pid;
   guint pid;
+  guint tgid;
   gchar * command;
   guint cpu = s->cpu;
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
   LttvProcessState *process = ts->running_process[cpu];
   LttvProcessState *parent_process;
-  LttField *f4, *f5, *f6, *f7;
+  LttField *f4, *f5, *f6, *f7, *f8;
   GQuark type, mode, submode, status;
   LttvExecutionState *es;
 
@@ -1849,12 +1859,18 @@ static gboolean enum_process_state(void *hook_data, void *call_data)
   status = ltt_enum_string_get(ltt_field_type(f7), 
       ltt_event_get_unsigned(e, f7));
 
-  /* The process might exist if a process was forked while performing the sate dump. */
+  /* TGID */
+  f8 = ltt_eventtype_field_by_name(et, LTT_FIELD_TGID);
+  if(f8) tgid = ltt_event_get_unsigned(e, f8);
+  else tgid = 0;
+
+  /* The process might exist if a process was forked while performing the state 
+   * dump. */
   process = lttv_state_find_process(ts, ANY_CPU, pid);
   if(process == NULL) {
     parent_process = lttv_state_find_process(ts, ANY_CPU, parent_pid);
     process = lttv_state_create_process(ts, parent_process, cpu,
-                              pid, g_quark_from_string(command),
+                              pid, tgid, g_quark_from_string(command),
                               &s->parent.timestamp);
   
     /* Keep the stack bottom : a running user mode */
@@ -1892,6 +1908,7 @@ static gboolean enum_process_state(void *hook_data, void *call_data)
      * We know for sure if it is a user space thread.
      */
     process->ppid = parent_pid;
+    process->tgid = tgid;
     process->name = g_quark_from_string(command);
     es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
     if(type != LTTV_STATE_KERNEL_THREAD)
@@ -2000,7 +2017,7 @@ void lttv_state_add_event_hooks(LttvTracesetState *self)
 
     ret = lttv_trace_find_hook(ts->parent.t,
         LTT_FACILITY_PROCESS, LTT_EVENT_FORK,
-        LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, 0,
+        LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, LTT_FIELD_TGID,
         process_fork, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
     if(ret) hn--;
 
@@ -2758,6 +2775,7 @@ static void module_init()
   LTT_FIELD_PARENT_PID    = g_quark_from_string("parent_pid");
   LTT_FIELD_CHILD_PID     = g_quark_from_string("child_pid");
   LTT_FIELD_PID           = g_quark_from_string("pid");
+  LTT_FIELD_TGID          = g_quark_from_string("tgid");
   LTT_FIELD_FILENAME      = g_quark_from_string("filename");
   LTT_FIELD_NAME          = g_quark_from_string("name");
   LTT_FIELD_TYPE          = g_quark_from_string("type");
index 7a7f89c31c64a72072d98036457d793f681136ed..f1e3f6d187ef0823dc2858b679b67ce93d45c630 100644 (file)
@@ -98,6 +98,7 @@ extern GQuark
     LTT_FIELD_PARENT_PID,
     LTT_FIELD_CHILD_PID,
     LTT_FIELD_PID,
+    LTT_FIELD_TGID,
     LTT_FIELD_FILENAME,
     LTT_FIELD_NAME,
     LTT_FIELD_TYPE,
@@ -206,6 +207,7 @@ typedef struct _LttvExecutionState {
 
 typedef struct _LttvProcessState {
   guint pid;
+  guint tgid;
   guint ppid;
   LttTime creation_time;
   LttTime insertion_time;
@@ -239,7 +241,7 @@ lttv_state_find_process_or_create(LttvTraceState *ts, guint cpu, guint pid,
 
 LttvProcessState *
 lttv_state_create_process(LttvTraceState *tcs, LttvProcessState *parent, 
-    guint cpu, guint pid, GQuark name, const LttTime *timestamp);
+    guint cpu, guint pid, guint tgid, GQuark name, const LttTime *timestamp);
 
 void lttv_state_write(LttvTraceState *self, LttTime t, FILE *fp);
 
index cc4a553be7d65ca49a047fc05e0755506730bee1..54eba010749b14d1b0f96df1f0defae0d1813cab 100644 (file)
@@ -394,6 +394,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
         processlist_add(process_list,
             drawing,
             pid_out,
+            process->tgid,
             process->cpu,
             process->ppid,
             &birth,
@@ -551,6 +552,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
         processlist_add(process_list,
             drawing,
             pid_in,
+            process->tgid,
             tfs->cpu,
             process->ppid,
             &birth,
@@ -772,6 +774,7 @@ int after_schedchange_hook(void *hook_data, void *call_data)
     processlist_add(process_list,
         drawing,
         pid_in,
+        process_in->tgid,
         process_in->cpu,
         process_in->ppid,
         &birth,
@@ -896,6 +899,7 @@ int before_execmode_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1086,6 +1090,7 @@ int before_process_exit_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1281,6 +1286,7 @@ int before_process_release_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1474,6 +1480,7 @@ int after_process_fork_hook(void *hook_data, void *call_data)
     processlist_add(process_list,
         drawing,
         child_pid,
+        process_child->tgid,
         process_child->cpu,
         process_child->ppid,
         &birth,
@@ -1487,6 +1494,11 @@ int after_process_fork_hook(void *hook_data, void *call_data)
                                   -1,
                                   pl_height);
       gtk_widget_queue_draw(drawing->drawing_area);
+  } else {
+          processlist_set_ppid(process_list, process_child->ppid,
+                               hashed_process_data_child);
+          processlist_set_tgid(process_list, process_child->tgid,
+                               hashed_process_data_child);
   }
 
 
@@ -1593,6 +1605,7 @@ int after_process_exit_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1688,6 +1701,7 @@ int after_fs_exec_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1758,6 +1772,7 @@ int after_user_generic_thread_brand_hook(void *hook_data, void *call_data)
       processlist_add(process_list,
           drawing,
           pid,
+          process->tgid,
           process->cpu,
           process->ppid,
           &birth,
@@ -1853,6 +1868,7 @@ int after_event_enum_process_hook(void *hook_data, void *call_data)
     processlist_add(process_list,
         drawing,
         pid_in,
+        process_in->tgid,
         process_in->cpu,
         process_in->ppid,
         &birth,
@@ -1867,10 +1883,12 @@ int after_event_enum_process_hook(void *hook_data, void *call_data)
                                     pl_height);
         gtk_widget_queue_draw(drawing->drawing_area);
   } else {
-         processlist_set_name(process_list, process_in->name,
-                                                                                                hashed_process_data_in);
-       processlist_set_ppid(process_list, process_in->ppid,
-                                                                                                hashed_process_data_in);
+          processlist_set_name(process_list, process_in->name,
+                               hashed_process_data_in);
+          processlist_set_ppid(process_list, process_in->ppid,
+                               hashed_process_data_in);
+          processlist_set_tgid(process_list, process_in->tgid,
+                               hashed_process_data_in);
        }
   return 0;
 }
index 1858c4fddd255e50d424ca077ef03f8daef32035..cb4246aa1f70ef3eaec7044fd5f71b144d0dfca6 100644 (file)
@@ -49,38 +49,40 @@ gint process_sort_func  ( GtkTreeModel *model,
 {
   gchar *a_name;
   gchar *a_brand;
-  guint a_pid, a_ppid, a_cpu;
+  guint a_pid, a_tgid, a_ppid, a_cpu;
   gulong a_birth_s, a_birth_ns;
   gulong a_trace;
 
   gchar *b_name;
   gchar *b_brand;
-  guint b_pid, b_ppid, b_cpu;
+  guint b_pid, b_tgid, b_ppid, b_cpu;
   gulong b_birth_s, b_birth_ns;
   gulong b_trace;
 
   gtk_tree_model_get(model,
            it_a,
-           0, &a_name,
-           1, &a_brand,
-           2, &a_pid,
-           3, &a_ppid,
-           4, &a_cpu,
-           5, &a_birth_s,
-           6, &a_birth_ns,
-           7, &a_trace,
+           PROCESS_COLUMN, &a_name,
+           BRAND_COLUMN, &a_brand,
+           PID_COLUMN, &a_pid,
+           TGID_COLUMN, &a_tgid,
+           PPID_COLUMN, &a_ppid,
+           CPU_COLUMN, &a_cpu,
+           BIRTH_S_COLUMN, &a_birth_s,
+           BIRTH_NS_COLUMN, &a_birth_ns,
+           TRACE_COLUMN, &a_trace,
            -1);
 
   gtk_tree_model_get(model,
            it_b,
-           0, &b_name,
-           1, &b_brand,
-           2, &b_pid,
-           3, &b_ppid,
-           4, &b_cpu,
-           5, &b_birth_s,
-           6, &b_birth_ns,
-           7, &b_trace,
+           PROCESS_COLUMN, &b_name,
+           BRAND_COLUMN, &b_brand,
+           PID_COLUMN, &b_pid,
+           TGID_COLUMN, &b_tgid,
+           PPID_COLUMN, &b_ppid,
+           CPU_COLUMN, &b_cpu,
+           BIRTH_S_COLUMN, &b_birth_s,
+           BIRTH_NS_COLUMN, &b_birth_ns,
+           TRACE_COLUMN, &b_trace,
            -1);
 
   
@@ -359,6 +361,7 @@ ProcessList *processlist_construct(void)
               G_TYPE_UINT,
               G_TYPE_UINT,
               G_TYPE_UINT,
+              G_TYPE_UINT,
               G_TYPE_ULONG,
               G_TYPE_ULONG,
               G_TYPE_ULONG);
@@ -449,6 +452,14 @@ ProcessList *processlist_construct(void)
   gtk_tree_view_append_column (
     GTK_TREE_VIEW (process_list->process_list_widget), column);
 
+  column = gtk_tree_view_column_new_with_attributes ( "TGID",
+                renderer,
+                "text",
+                TGID_COLUMN,
+                NULL);
+  gtk_tree_view_append_column (
+    GTK_TREE_VIEW (process_list->process_list_widget), column);
+
   column = gtk_tree_view_column_new_with_attributes ( "PPID",
                 renderer,
                 "text",
@@ -581,6 +592,16 @@ void processlist_set_brand(ProcessList *process_list,
         BRAND_COLUMN, g_quark_to_string(brand),
         -1);
 }
+
+void processlist_set_tgid(ProcessList *process_list,
+    guint tgid,
+    HashedProcessData *hashed_process_data)
+{
+  gtk_list_store_set (  process_list->list_store, &hashed_process_data->y_iter,
+        TGID_COLUMN, tgid,
+        -1);
+}
+
 void processlist_set_ppid(ProcessList *process_list,
     guint ppid,
     HashedProcessData *hashed_process_data)
@@ -594,6 +615,7 @@ void processlist_set_ppid(ProcessList *process_list,
 int processlist_add(  ProcessList *process_list,
       Drawing_t *drawing,
       guint pid,
+      guint tgid,
       guint cpu,
       guint ppid,
       LttTime *birth,
@@ -610,6 +632,7 @@ int processlist_add(  ProcessList *process_list,
   *pm_process_info = Process_Info;
   
   Process_Info->pid = pid;
+  Process_Info->tgid = tgid;
   if(pid == 0)
     Process_Info->cpu = cpu;
   else
@@ -643,6 +666,7 @@ int processlist_add(  ProcessList *process_list,
         PROCESS_COLUMN, g_quark_to_string(name),
         BRAND_COLUMN, g_quark_to_string(brand),
         PID_COLUMN, pid,
+        TGID_COLUMN, tgid,
         PPID_COLUMN, ppid,
         CPU_COLUMN, cpu,
         BIRTH_S_COLUMN, birth->tv_sec,
index daffefaf3f934b60543e8cadea69c419a3a8f9dc..e742c9257778276f89a996bfc7428574e056fdef 100644 (file)
@@ -48,6 +48,7 @@ enum
   PROCESS_COLUMN,
   BRAND_COLUMN,
   PID_COLUMN,
+  TGID_COLUMN,
   PPID_COLUMN,
   CPU_COLUMN,
   BIRTH_S_COLUMN,
@@ -60,6 +61,7 @@ enum
 typedef struct _ProcessInfo {
   
   guint pid;
+  guint tgid;
   guint cpu;
   guint ppid;
   LttTime birth;
@@ -133,7 +135,7 @@ void processlist_clear(ProcessList *process_list);
 // out : success (0) and height
 /* CPU num is only used for PID 0 */
 int processlist_add(ProcessList *process_list, Drawing_t * drawing, 
-    guint pid, guint cpu, guint ppid,
+    guint pid, guint tgid, guint cpu, guint ppid,
     LttTime *birth, guint trace_num, GQuark name, GQuark brand, guint *height,
     ProcessInfo **process_info,
     HashedProcessData **hashed_process_data);
@@ -151,6 +153,9 @@ void processlist_set_brand(ProcessList *process_list,
     HashedProcessData *hashed_process_data);
 
 /* Set the ppid of a process */
+void processlist_set_tgid(ProcessList *process_list,
+    guint tgid,
+    HashedProcessData *hashed_process_data);
 void processlist_set_ppid(ProcessList *process_list,
     guint ppid,
     HashedProcessData *hashed_process_data);
index df1e2147f4727debeab657353ad163ba7302fd20..5be74d21e827ec15e6b0841ec83e95f833d5f735 100644 (file)
@@ -7,13 +7,13 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/glib-2.0/glib/gtypes.h \
   /usr/lib/glib-2.0/include/glibconfig.h \
   /usr/include/glib-2.0/glib/gmacros.h \
-  /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h \
-  /usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h \
-  /usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.0.3/include/stddef.h \
+  /usr/lib/gcc/i486-linux-gnu/4.0.3/include/limits.h \
+  /usr/lib/gcc/i486-linux-gnu/4.0.3/include/syslimits.h \
   /usr/include/limits.h /usr/include/bits/posix1_lim.h \
   /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
   /usr/include/bits/posix2_lim.h \
-  /usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h \
+  /usr/lib/gcc/i486-linux-gnu/4.0.3/include/float.h \
   /usr/include/glib-2.0/glib/garray.h \
   /usr/include/glib-2.0/glib/gasyncqueue.h \
   /usr/include/glib-2.0/glib/gthread.h \
@@ -21,11 +21,14 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/glib-2.0/glib/gatomic.h \
   /usr/include/glib-2.0/glib/gbacktrace.h \
   /usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
-  /usr/include/glib-2.0/glib/gmem.h \
+  /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
   /usr/include/glib-2.0/glib/gcompletion.h \
   /usr/include/glib-2.0/glib/gconvert.h \
   /usr/include/glib-2.0/glib/gdataset.h \
-  /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+  /usr/include/glib-2.0/glib/gdate.h /usr/include/time.h \
+  /usr/include/bits/time.h /usr/include/bits/types.h \
+  /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+  /usr/include/glib-2.0/glib/gdir.h \
   /usr/include/glib-2.0/glib/gfileutils.h \
   /usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
   /usr/include/glib-2.0/glib/giochannel.h \
@@ -33,10 +36,12 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/glib-2.0/glib/gstring.h \
   /usr/include/glib-2.0/glib/gunicode.h \
   /usr/include/glib-2.0/glib/gutils.h \
-  /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h \
+  /usr/lib/gcc/i486-linux-gnu/4.0.3/include/stdarg.h \
+  /usr/include/glib-2.0/glib/gkeyfile.h \
+  /usr/include/glib-2.0/glib/gmappedfile.h \
   /usr/include/glib-2.0/glib/gmarkup.h \
   /usr/include/glib-2.0/glib/gmessages.h \
-  /usr/include/glib-2.0/glib/gnode.h \
+  /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
   /usr/include/glib-2.0/glib/gpattern.h \
   /usr/include/glib-2.0/glib/gprimes.h \
   /usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
@@ -47,7 +52,9 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/glib-2.0/glib/gthreadpool.h \
   /usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
   /usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \
-  /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \
+  /usr/include/gtk-2.0/gdk/gdkcairo.h /usr/include/gtk-2.0/gdk/gdkcolor.h \
+  /usr/include/cairo/cairo.h /usr/include/cairo/cairo-features.h \
+  /usr/include/gtk-2.0/gdk/gdktypes.h \
   /usr/include/pango-1.0/pango/pango.h \
   /usr/include/pango-1.0/pango/pango-attributes.h \
   /usr/include/pango-1.0/pango/pango-font.h \
@@ -81,23 +88,33 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/pango-1.0/pango/pango-layout.h \
   /usr/include/pango-1.0/pango/pango-glyph-item.h \
   /usr/include/pango-1.0/pango/pango-tabs.h \
+  /usr/include/pango-1.0/pango/pango-renderer.h \
   /usr/lib/gtk-2.0/include/gdkconfig.h \
-  /usr/include/gtk-2.0/gdk/gdkcursor.h \
+  /usr/include/gtk-2.0/gdk/gdkpixbuf.h /usr/include/gtk-2.0/gdk/gdkrgb.h \
   /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \
   /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h \
+  /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h /usr/include/stdio.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/bits/stdio.h /usr/include/glib-2.0/gmodule.h \
   /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \
   /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \
+  /usr/include/pango-1.0/pango/pangocairo.h \
+  /usr/include/gtk-2.0/gdk/gdkcursor.h \
   /usr/include/gtk-2.0/gdk/gdkdisplay.h \
   /usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \
   /usr/include/gtk-2.0/gdk/gdkinput.h \
   /usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \
-  /usr/include/gtk-2.0/gdk/gdkrgb.h \
   /usr/include/gtk-2.0/gdk/gdkenumtypes.h \
   /usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \
   /usr/include/gtk-2.0/gdk/gdkkeys.h \
   /usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \
   /usr/include/gtk-2.0/gdk/gdkpango.h \
-  /usr/include/gtk-2.0/gdk/gdkpixbuf.h \
   /usr/include/gtk-2.0/gdk/gdkpixmap.h \
   /usr/include/gtk-2.0/gdk/gdkproperty.h \
   /usr/include/gtk-2.0/gdk/gdkregion.h \
@@ -106,10 +123,12 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gdk/gdkspawn.h \
   /usr/include/gtk-2.0/gdk/gdkvisual.h \
   /usr/include/gtk-2.0/gdk/gdkwindow.h \
+  /usr/include/gtk-2.0/gtk/gtkaboutdialog.h \
+  /usr/include/gtk-2.0/gtk/gtkdialog.h \
+  /usr/include/gtk-2.0/gtk/gtkwindow.h \
   /usr/include/gtk-2.0/gtk/gtkaccelgroup.h \
-  /usr/include/gtk-2.0/gtk/gtkenums.h \
-  /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
-  /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
+  /usr/include/gtk-2.0/gtk/gtkenums.h /usr/include/gtk-2.0/gtk/gtkbin.h \
+  /usr/include/gtk-2.0/gtk/gtkcontainer.h \
   /usr/include/gtk-2.0/gtk/gtkwidget.h \
   /usr/include/gtk-2.0/gtk/gtkobject.h \
   /usr/include/gtk-2.0/gtk/gtktypeutils.h \
@@ -121,8 +140,8 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/atk-1.0/atk/atkobject.h \
   /usr/include/atk-1.0/atk/atkstate.h \
   /usr/include/atk-1.0/atk/atkrelationtype.h \
-  /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \
-  /usr/include/gtk-2.0/gtk/gtkcontainer.h \
+  /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
+  /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
   /usr/include/gtk-2.0/gtk/gtkmenu.h \
   /usr/include/gtk-2.0/gtk/gtkmenushell.h \
   /usr/include/gtk-2.0/gtk/gtkaccelmap.h \
@@ -158,6 +177,7 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkbox.h \
   /usr/include/gtk-2.0/gtk/gtkbindings.h \
   /usr/include/gtk-2.0/gtk/gtkbutton.h \
+  /usr/include/gtk-2.0/gtk/gtkimage.h \
   /usr/include/gtk-2.0/gtk/gtkcalendar.h \
   /usr/include/gtk-2.0/gtk/gtksignal.h \
   /usr/include/gtk-2.0/gtk/gtkmarshal.h \
@@ -167,9 +187,12 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \
   /usr/include/gtk-2.0/gtk/gtktreemodel.h \
   /usr/include/gtk-2.0/gtk/gtktreesortable.h \
-  /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h \
   /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
+  /usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h \
   /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \
+  /usr/include/gtk-2.0/gtk/gtkcellview.h \
   /usr/include/gtk-2.0/gtk/gtkcheckbutton.h \
   /usr/include/gtk-2.0/gtk/gtktogglebutton.h \
   /usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \
@@ -184,7 +207,7 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkvscrollbar.h \
   /usr/include/gtk-2.0/gtk/gtkcolorbutton.h \
   /usr/include/gtk-2.0/gtk/gtkcolorsel.h \
-  /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \
+  /usr/include/gtk-2.0/gtk/gtkvbox.h \
   /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \
   /usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \
   /usr/include/gtk-2.0/gtk/gtkcombobox.h \
@@ -203,9 +226,11 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkexpander.h \
   /usr/include/gtk-2.0/gtk/gtkfilesel.h \
   /usr/include/gtk-2.0/gtk/gtkfixed.h \
-  /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \
+  /usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h \
   /usr/include/gtk-2.0/gtk/gtkfilechooser.h \
   /usr/include/gtk-2.0/gtk/gtkfilefilter.h \
+  /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \
+  /usr/include/gtk-2.0/gtk/gtkfilechooser.h \
   /usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h \
   /usr/include/gtk-2.0/gtk/gtkfontbutton.h \
   /usr/include/gtk-2.0/gtk/gtkfontsel.h \
@@ -222,7 +247,7 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkseparator.h \
   /usr/include/gtk-2.0/gtk/gtkiconfactory.h \
   /usr/include/gtk-2.0/gtk/gtkicontheme.h \
-  /usr/include/gtk-2.0/gtk/gtkimage.h \
+  /usr/include/gtk-2.0/gtk/gtkiconview.h \
   /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \
   /usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \
   /usr/include/gtk-2.0/gtk/gtkimmulticontext.h \
@@ -232,7 +257,13 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtklistitem.h \
   /usr/include/gtk-2.0/gtk/gtkmain.h \
   /usr/include/gtk-2.0/gtk/gtkmenubar.h \
+  /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h \
+  /usr/include/gtk-2.0/gtk/gtkmenu.h \
+  /usr/include/gtk-2.0/gtk/gtktoolbutton.h \
+  /usr/include/gtk-2.0/gtk/gtktoolitem.h \
+  /usr/include/gtk-2.0/gtk/gtktooltips.h \
   /usr/include/gtk-2.0/gtk/gtkmessagedialog.h \
+  /usr/include/gtk-2.0/gtk/gtkmodules.h \
   /usr/include/gtk-2.0/gtk/gtknotebook.h \
   /usr/include/gtk-2.0/gtk/gtkoldeditable.h \
   /usr/include/gtk-2.0/gtk/gtkoptionmenu.h \
@@ -248,8 +279,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h \
   /usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h \
   /usr/include/gtk-2.0/gtk/gtktoolbutton.h \
-  /usr/include/gtk-2.0/gtk/gtktoolitem.h \
-  /usr/include/gtk-2.0/gtk/gtktooltips.h \
   /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \
   /usr/include/gtk-2.0/gtk/gtkviewport.h \
   /usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \
@@ -284,16 +313,10 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
   /usr/include/gtk-2.0/gtk/gtkvpaned.h \
   /usr/include/gtk-2.0/gtk/gtkvruler.h \
   /usr/include/gtk-2.0/gtk/gtkvscale.h \
-  /usr/include/gtk-2.0/gtk/gtkvseparator.h /usr/include/stdio.h \
-  /usr/include/bits/types.h /usr/include/bits/wordsize.h \
-  /usr/include/bits/typesizes.h /usr/include/libio.h \
-  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
-  /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
-  /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
-  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
-  /usr/include/endian.h /usr/include/bits/endian.h \
-  /usr/include/sys/select.h /usr/include/bits/select.h \
-  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/gtk-2.0/gtk/gtkvseparator.h /usr/include/stdlib.h \
+  /usr/include/sys/types.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
   /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
   /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
   /usr/include/bits/string.h /usr/include/bits/string2.h \
@@ -335,11 +358,11 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/glib-2.0/glib/gmacros.h:
 
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/stddef.h:
 
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/limits.h:
 
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/syslimits.h:
 
 /usr/include/limits.h:
 
@@ -351,7 +374,7 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/bits/posix2_lim.h:
 
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/float.h:
 
 /usr/include/glib-2.0/glib/garray.h:
 
@@ -373,6 +396,8 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/glib-2.0/glib/gmem.h:
 
+/usr/include/glib-2.0/glib/gslice.h:
+
 /usr/include/glib-2.0/glib/gcompletion.h:
 
 /usr/include/glib-2.0/glib/gconvert.h:
@@ -381,6 +406,16 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/glib-2.0/glib/gdate.h:
 
+/usr/include/time.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
 /usr/include/glib-2.0/glib/gdir.h:
 
 /usr/include/glib-2.0/glib/gfileutils.h:
@@ -401,7 +436,11 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/glib-2.0/glib/gutils.h:
 
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/stdarg.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmappedfile.h:
 
 /usr/include/glib-2.0/glib/gmarkup.h:
 
@@ -409,6 +448,8 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/glib-2.0/glib/gnode.h:
 
+/usr/include/glib-2.0/glib/goption.h:
+
 /usr/include/glib-2.0/glib/gpattern.h:
 
 /usr/include/glib-2.0/glib/gprimes.h:
@@ -439,8 +480,14 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gdk/gdk.h:
 
+/usr/include/gtk-2.0/gdk/gdkcairo.h:
+
 /usr/include/gtk-2.0/gdk/gdkcolor.h:
 
+/usr/include/cairo/cairo.h:
+
+/usr/include/cairo/cairo-features.h:
+
 /usr/include/gtk-2.0/gdk/gdktypes.h:
 
 /usr/include/pango-1.0/pango/pango.h:
@@ -509,18 +556,56 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/pango-1.0/pango/pango-tabs.h:
 
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
 /usr/lib/gtk-2.0/include/gdkconfig.h:
 
-/usr/include/gtk-2.0/gdk/gdkcursor.h:
+/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
+
+/usr/include/gtk-2.0/gdk/gdkrgb.h:
 
 /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h:
 
 /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h:
 
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/glib-2.0/gmodule.h:
+
 /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h:
 
 /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h:
 
+/usr/include/pango-1.0/pango/pangocairo.h:
+
+/usr/include/gtk-2.0/gdk/gdkcursor.h:
+
 /usr/include/gtk-2.0/gdk/gdkdisplay.h:
 
 /usr/include/gtk-2.0/gdk/gdkevents.h:
@@ -533,8 +618,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gdk/gdkgc.h:
 
-/usr/include/gtk-2.0/gdk/gdkrgb.h:
-
 /usr/include/gtk-2.0/gdk/gdkenumtypes.h:
 
 /usr/include/gtk-2.0/gdk/gdkfont.h:
@@ -547,8 +630,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gdk/gdkpango.h:
 
-/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
-
 /usr/include/gtk-2.0/gdk/gdkpixmap.h:
 
 /usr/include/gtk-2.0/gdk/gdkproperty.h:
@@ -565,15 +646,19 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gdk/gdkwindow.h:
 
+/usr/include/gtk-2.0/gtk/gtkaboutdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkwindow.h:
+
 /usr/include/gtk-2.0/gtk/gtkaccelgroup.h:
 
 /usr/include/gtk-2.0/gtk/gtkenums.h:
 
-/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
-
-/usr/include/gtk-2.0/gtk/gtklabel.h:
+/usr/include/gtk-2.0/gtk/gtkbin.h:
 
-/usr/include/gtk-2.0/gtk/gtkmisc.h:
+/usr/include/gtk-2.0/gtk/gtkcontainer.h:
 
 /usr/include/gtk-2.0/gtk/gtkwidget.h:
 
@@ -599,11 +684,11 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/atk-1.0/atk/atkrelationtype.h:
 
-/usr/include/gtk-2.0/gtk/gtkwindow.h:
+/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
 
-/usr/include/gtk-2.0/gtk/gtkbin.h:
+/usr/include/gtk-2.0/gtk/gtklabel.h:
 
-/usr/include/gtk-2.0/gtk/gtkcontainer.h:
+/usr/include/gtk-2.0/gtk/gtkmisc.h:
 
 /usr/include/gtk-2.0/gtk/gtkmenu.h:
 
@@ -681,6 +766,8 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkbutton.h:
 
+/usr/include/gtk-2.0/gtk/gtkimage.h:
+
 /usr/include/gtk-2.0/gtk/gtkcalendar.h:
 
 /usr/include/gtk-2.0/gtk/gtksignal.h:
@@ -699,12 +786,18 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtktreesortable.h:
 
-/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
+/usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h:
 
 /usr/include/gtk-2.0/gtk/gtkcellrenderertext.h:
 
+/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:
+
 /usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h:
 
+/usr/include/gtk-2.0/gtk/gtkcellview.h:
+
 /usr/include/gtk-2.0/gtk/gtkcheckbutton.h:
 
 /usr/include/gtk-2.0/gtk/gtktogglebutton.h:
@@ -733,8 +826,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkcolorsel.h:
 
-/usr/include/gtk-2.0/gtk/gtkdialog.h:
-
 /usr/include/gtk-2.0/gtk/gtkvbox.h:
 
 /usr/include/gtk-2.0/gtk/gtkcolorseldialog.h:
@@ -777,12 +868,16 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkfixed.h:
 
-/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h:
+/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:
 
 /usr/include/gtk-2.0/gtk/gtkfilechooser.h:
 
 /usr/include/gtk-2.0/gtk/gtkfilefilter.h:
 
+/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkfilechooser.h:
+
 /usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h:
 
 /usr/include/gtk-2.0/gtk/gtkfontbutton.h:
@@ -817,7 +912,7 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkicontheme.h:
 
-/usr/include/gtk-2.0/gtk/gtkimage.h:
+/usr/include/gtk-2.0/gtk/gtkiconview.h:
 
 /usr/include/gtk-2.0/gtk/gtkimagemenuitem.h:
 
@@ -839,8 +934,20 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkmenubar.h:
 
+/usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenu.h:
+
+/usr/include/gtk-2.0/gtk/gtktoolbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtktoolitem.h:
+
+/usr/include/gtk-2.0/gtk/gtktooltips.h:
+
 /usr/include/gtk-2.0/gtk/gtkmessagedialog.h:
 
+/usr/include/gtk-2.0/gtk/gtkmodules.h:
+
 /usr/include/gtk-2.0/gtk/gtknotebook.h:
 
 /usr/include/gtk-2.0/gtk/gtkoldeditable.h:
@@ -873,10 +980,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtktoolbutton.h:
 
-/usr/include/gtk-2.0/gtk/gtktoolitem.h:
-
-/usr/include/gtk-2.0/gtk/gtktooltips.h:
-
 /usr/include/gtk-2.0/gtk/gtkscrolledwindow.h:
 
 /usr/include/gtk-2.0/gtk/gtkviewport.h:
@@ -949,36 +1052,10 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/gtk-2.0/gtk/gtkvseparator.h:
 
-/usr/include/stdio.h:
-
-/usr/include/bits/types.h:
-
-/usr/include/bits/wordsize.h:
-
-/usr/include/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/include/bits/wchar.h:
-
-/usr/include/gconv.h:
-
-/usr/include/bits/stdio_lim.h:
-
-/usr/include/bits/sys_errlist.h:
-
-/usr/include/bits/stdio.h:
-
 /usr/include/stdlib.h:
 
 /usr/include/sys/types.h:
 
-/usr/include/time.h:
-
 /usr/include/endian.h:
 
 /usr/include/bits/endian.h:
@@ -989,8 +1066,6 @@ tutorial.lo tutorial.o: tutorial.c /usr/include/math.h \
 
 /usr/include/bits/sigset.h:
 
-/usr/include/bits/time.h:
-
 /usr/include/sys/sysmacros.h:
 
 /usr/include/bits/pthreadtypes.h:
index afac4f91bc6cdcd4ae1e33e3ac996f55e615a1fc..124daaf14782f5a780bdfebf2465ce77da658e37 100644 (file)
@@ -88,13 +88,9 @@ void filter_analyze_file(void *hook_data) {
       LTTV_POINTER, &value));
 
   if(((GString*)*(value.v_pointer))->len != 0)
-    (GString*)*(value.v_pointer) =
       g_string_append_c((GString*)*(value.v_pointer),'&');
-  (GString*)*(value.v_pointer) = 
      g_string_append_c((GString*)*(value.v_pointer),'(');
-  (GString*)*(value.v_pointer) = 
     g_string_append((GString*)*(value.v_pointer),a_file_content);
-  (GString*)*(value.v_pointer) = 
     g_string_append_c((GString*)*(value.v_pointer),')');
   
 }
@@ -118,13 +114,9 @@ void filter_analyze_string(void *hook_data) {
       LTTV_POINTER, &value));
 
   if(((GString*)*(value.v_pointer))->len != 0)
-    (GString*)*(value.v_pointer) =
       g_string_append_c((GString*)*(value.v_pointer),'&');
-  (GString*)*(value.v_pointer) = 
     g_string_append_c((GString*)*(value.v_pointer),'(');
-  (GString*)*(value.v_pointer) = 
     g_string_append((GString*)*(value.v_pointer),a_string);
-  (GString*)*(value.v_pointer) = 
     g_string_append_c((GString*)*(value.v_pointer),')');
 
 }
This page took 0.046099 seconds and 4 git commands to generate.