• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Révision1b6fa31e29ac664514254bf81c42ebc1b4120407 (tree)
l'heure2023-02-07 20:21:35
Auteurphabrics <phabrics@phab...>
Commiterphabrics

Message de Log

Some backport fixes for GTK3.

Change Summary

Modification

--- a/configure.ac
+++ b/configure.ac
@@ -32,7 +32,7 @@ dnl ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3232 dnl POSSIBILITY OF SUCH DAMAGE.
3333
3434 dnl Checks that we are given a good source directory.
35-AC_PREREQ([2.71])
35+AC_PREREQ([2.69])
3636 m4_include(version.m4)
3737 AC_INIT([tme],[0.12rc10])
3838 AC_CONFIG_SRCDIR([ic/m68k/m68k-impl.h])
@@ -1089,7 +1089,7 @@ LT_CONFIG_LTDL_DIR([libltdl])
10891089 LT_INIT([dlopen,win32-dll])
10901090 LT_LANG([Windows Resource])
10911091 LTDL_INIT([recursive installable])
1092-CPPFLAGS="${CPPFLAGS-} ${LTDLINCL}"
1092+CPPFLAGS="${CPPFLAGS-} ${LTDLINCL} -DLT_DEBUG_LOADERS"
10931093
10941094 AC_ARG_VAR([IFCONFIG], [full path to ipconfig utility])
10951095 AC_ARG_VAR([ROUTE], [full path to route utility])
--- a/host/display/gtk/gtk-display.c
+++ b/host/display/gtk/gtk-display.c
@@ -40,11 +40,9 @@ _TME_RCSID("$Id: gtk-screen.c,v 1.11 2009/08/30 21:39:03 fredette Exp $");
4040 #include "gtk-display.h"
4141 #include <stdlib.h>
4242 #if GTK_MAJOR_VERSION == 4
43-#define _tme_gtk_window_toplevels gtk_window_get_toplevels
4443 #define _tme_gtk_init gtk_init_check
4544 #else
46-#define _tme_gtk_window_toplevels gtk_window_list_toplevels
47-static void _tme_gtk_init(void) {
45+static gboolean _tme_gtk_init(void) {
4846 char **argv;
4947 char *argv_buffer[3];
5048 int argc;
@@ -53,11 +51,11 @@ static void _tme_gtk_init(void) {
5351 argv = argv_buffer;
5452 argc = 0;
5553 argv[argc++] = "tmesh";
56-#if 1
54+#if 0
5755 argv[argc++] = "--gtk-debug=signals";
5856 #endif
5957 argv[argc] = NULL;
60- gtk_init_check(&argc, &argv);
58+ return gtk_init_check(&argc, &argv);
6159 }
6260 #endif
6361
@@ -73,7 +71,7 @@ _tme_gtk_display_update(struct tme_display *display) {
7371 for(rc=TRUE;rc && g_main_context_pending(NULL);
7472 rc = g_main_context_iteration(NULL, TRUE));
7573
76- if(rc) rc = g_list_model_get_n_items(_tme_gtk_window_toplevels());
74+ if(rc) rc = (gtk_window_list_toplevels() != NULL);
7775 return !rc;
7876 }
7977
@@ -508,6 +506,21 @@ _tme_display_menu_radio(struct tme_gtk_screen *screen,
508506 return (menu);
509507 }
510508
509+/* this is a GTK callback for an enter notify event, that has the
510+ widget grab focus and then continue normal event processing: */
511+gint
512+_tme_display_enter_focus(GtkWidget *widget,
513+ GdkEvent *gdk_event_raw,
514+ gpointer junk)
515+{
516+
517+ /* grab the focus: */
518+ gtk_widget_grab_focus(widget);
519+
520+ /* continue normal event processing: */
521+ return (FALSE);
522+}
523+
511524 /* the new GTK display function: */
512525 TME_ELEMENT_SUB_NEW_DECL(tme_host_gtk,display) {
513526 struct tme_gdk_display *display;
@@ -519,7 +532,7 @@ TME_ELEMENT_SUB_NEW_DECL(tme_host_gtk,display) {
519532 setuid(getuid());
520533 #endif
521534
522- if(!(rc = _tme_gtk_init())) return rc;
535+ if(rc = !_tme_gtk_init()) return rc;
523536
524537 /* start our data structure: */
525538 display = tme_new0(struct tme_gdk_display, 1);
@@ -559,5 +572,5 @@ TME_ELEMENT_SUB_NEW_DECL(tme_host_gtk,display) {
559572 /* unlock mutex once gtk main thread is running: */
560573 // g_idle_add(_tme_gtk_screens_update, display);
561574
562- return (TME_OK);
575+ return rc;
563576 }