Re: Cross platform development
Hi. Am Samstag, den 18.03.2017, 10:07 -0600 schrieb Michael Torrie: > On 03/18/2017 09:16 AM, pelzflorian (Florian Pelz) wrote: > > MSYS2 ships with the pacman package manager. After you have > > followed the > > instructions on the website, launch the MSYS2 shell from the MSYS2 > > folder and then this command installs everything you need to run > > gedit > > into a filesystem tree inside your msys2 folder. > > But the OP already has an MSYS2 installation that has more than just > GTK3 in it. He wants to put just the GTK3 dependencies in a tree > somewhere. To do that simply, he could unpack the GTK3 (and glib2) > binary pacman packages if they could be located. No, I have no MSYS2 installation on the target hosts and there will not be. My program is part of a big collaborative project. The installation takes over one hour, because at this time we are bound to some extraordinary big Micros*ck programs (MSSQL Advanced for example). This will change, and I hope this will be soon. For this reason I don't want to force my Customer to install even more software. That is the reason why I want to deliver the required DLLs and only the needed ones with my package. My development is done only in a Linux environment. Regards, Dirk -- Dirk Gottschalk, Aachen Tel.: 01573 / 1152350 eMail: dirk.gottschalk1...@googlemail.com ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Cross platform development
Hi Lucas. Am Sonntag, den 19.03.2017, 10:44 +0100 schrieb Lucas Levrel via gtk- app-devel-list: > Le 18 mars 2017, à 14:37, Dirk Gottschalk via gtk-app-devel-list a > écrit : > > > Am Samstag, den 18.03.2017, 11:42 +0100 schrieb pelzflorian > > (Florian > > Pelz): > > > > > Note that if your application is not libre software (it should > > > be, > > > please make it libre!), then static linking means you need to > > > provide > > > your application’s source code or compiled object files > > > > Thanks, this is a point I totally forgot. So no statically linking > > is > > possible. > > > > Making the project open is no option. The protocol of the devices > > we > > communicate with is covered by various NDAs. > Does distributing a compiled object "leak" more information than > distributing a dynamically-linked exe? No, it dowsn't. This was related to related to pelzflorian mentioning making this project open sourced. > > I only want to copy just the needed files, not the complete DLL > > set > > Mingw has on my systems, these are real much. > I can't remember if finding the deps was part of your original > question > (sorry). In case it was: http://www.dependencywalker.com/ I'll take a look at this. The question was which DLLs are nedded. Thank you. Regards, Dirk -- Dirk Gottschalk, Aachen Tel.: 01573 / 1152350 eMail: dirk.gottschalk1...@googlemail.com ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: Cross platform development
Hi Florian, Am Samstag, den 18.03.2017, 11:42 +0100 schrieb pelzflorian (Florian Pelz): > Note that if your application is not libre software (it should be, > please make it libre!), then static linking means you need to provide > your application’s source code or compiled object files upon user > request so it can be relinked with another version of the LGPL’d > libraries. You will also still need to provide the other resources > like > GTK’s schemas etc. But I have no experience with mxe. Thanks, this is a point I totally forgot. So no statically linking is possible. Making the project open is no option. The protocol of the devices we communicate with is covered by various NDAs. The only chance is, to grab the DLLs from MinGW via objdump ore some similar, like recommended and pack them into the applications working directory, because Windows searches DLLs in its System, System32 subfolders and in the working directory of the app. This is tested. I only want to copy just the needed files, not the complete DLL set Mingw has on my systems, these are real much. Thanks for mentioning the LGPL-Problem. Regards, Dirk -- Dirk Gottschalk, Aachen Tel.: 01573 / 1152350 eMail: dirk.gottschalk1...@googlemail.com ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: What does "Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion 'index >= 0 && index <= layout->length' failed" mean?
Hello Norbert, thank you very much for your answer. It did not solve the Problem, but it made me think about my string handling in the callback function. The field throwing the error was the input, not the output. I just split the string using the pointer of the input and not copying it before manipulating. Sometimes the wrong answer can help to find the right direction to the solution. Thanks. Best regards, Dirk Am Donnerstag, den 09.02.2017, 02:51 +0100 schrieb Norbert de Jonge: > > keybuf = gtk_entry_buffer_new ("Not yet generated", 45); > > https://developer.gnome.org/gtk3/stable/GtkEntryBuffer.html#gtk-entry > -buffer-new > > The second parameter of gtk_entry_buffer_new() specifies the number > of > characters in the string. > > Either change 45 to 17 or to -1. > > Best regards, > Norbert > ___ > gtk-app-devel-list mailing list > gtk-app-devel-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list -- Dirk Gottschalk, Aachen Tel.: 01573 / 1152350 eMail: dirk.gottschalk1...@googlemail.com ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
What does "Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion 'index >= 0 && index <= layout->length' failed" mean?
Hello, I just started developing GTK+ Applications. But now I get the following error message and a broken Text when clicking back in to the GTKEntry widget: (gtk-keygen:18220): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion 'index >= 0 && index <= layout->length' failed Here is the code causing this Problem: static void activate (GtkApplication *app, gpointer user_data) { GtkWidget *window; GtkWidget *grid; GtkWidget *label_exp_date; GtkWidget *input_exp_date; GtkWidget *spacer; GtkWidget *out_head; GtkWidget *out_gen; GtkWidget *gen_button; /* Create window */ window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), PACKAGE_STRING); gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Here we construct the container that is going pack our content */ grid = gtk_grid_new (); gtk_grid_set_column_spacing (GTK_GRID (grid), 5); gtk_grid_set_row_spacing (GTK_GRID (grid), 5); /* Pack the container in the window */ gtk_container_add (GTK_CONTAINER (window), grid); /* Create head label */ label_exp_date = gtk_label_new ("Key generator for garmin-srv."); gtk_grid_attach (GTK_GRID (grid), label_exp_date, 0, 0, 3, 1); /* Spacer */ spacer = gtk_label_new (""); gtk_grid_attach (GTK_GRID (grid), spacer, 0, 1, 1, 1); /* Key generator area */ label_exp_date = gtk_label_new ("Enter expiration date (dd.mm.):"); gtk_grid_attach (GTK_GRID (grid), label_exp_date, 0, 1, 1, 1); input_exp_date = gtk_entry_new (); gtk_entry_set_width_chars (GTK_ENTRY (input_exp_date), 10); gtk_entry_set_max_length (GTK_ENTRY (input_exp_date), 10); gtk_grid_attach (GTK_GRID (grid), input_exp_date, 1, 1, 1, 1); gen_button = gtk_button_new_with_label ("Generate"); gtk_widget_set_halign (GTK_WIDGET (gen_button), GTK_ALIGN_END); gtk_grid_attach (GTK_GRID (grid), gen_button, 2, 1, 1, 1); /* Result area */ out_head = gtk_label_new ("Generated key:"); gtk_grid_attach (GTK_GRID (grid), out_head, 0, 2, 1, 1); GtkEntryBuffer *keybuf; keybuf = gtk_entry_buffer_new ("Not yet generated", 45); out_gen = gtk_entry_new_with_buffer (GTK_ENTRY_BUFFER (keybuf)); gtk_entry_set_width_chars (GTK_ENTRY (out_gen), 50); gtk_editable_set_editable (GTK_EDITABLE (out_gen), FALSE); gtk_widget_set_can_focus (GTK_WIDGET (out_gen), FALSE); gtk_grid_attach (GTK_GRID (grid), out_gen, 1, 2, 1, 1); g_object_set_data (G_OBJECT(gen_button), "input", input_exp_date); g_object_set_data (G_OBJECT(gen_button), "output", out_gen); /* Exit when the window is closed */ g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); g_signal_connect (gen_button, "clicked", G_CALLBACK (gtkGenKey), gen_button); // g_signal_connect (gen_button, "clicked", G_CALLBACK (showKey), keybuf); gtk_widget_show_all (window); } Can somebody help me and tell me what I am doing wrong? Best Regards, Dirk -- Dirk Gottschalk, Aachen Tel.: 01573 / 1152350 eMail: dirk.gottschalk1...@googlemail.com ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list