Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp1031975pxb; Fri, 15 Apr 2022 19:00:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWh2q9CqMcfw63que2GHjMAQ86RQkvOYormGRPlS5/ufhYrOfCuDAXZ3Tp0c/4CilXB0sS X-Received: by 2002:a17:90a:e692:b0:1cb:a04d:eb8c with SMTP id s18-20020a17090ae69200b001cba04deb8cmr7038342pjy.27.1650074450678; Fri, 15 Apr 2022 19:00:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650074450; cv=none; d=google.com; s=arc-20160816; b=UQc0FCctmWgdCl8hDBByAT5TD8HL68iftxYek/mB8ADk7dBubC3faAqo7o4JIx1T6t 12V9Ej7RDc3vGyo66aJD+D9dY7LCdfx2YqGsi+m3dlHpcAnmZA5ADMaM6dRtVJtm1CL0 Yvrjtw0geT1F0lRqGLM0mGbWwiFgU75oRlhRhP+3JJ9RNW+7ax5bR2VTrAkED3sfxNDW jUo8XGTL5TZs83VHYYKByEFpki0BrCJlpyL4iOEY2kw4G6siTu3PNWB9lsRHJtsSvIYU 2VV3u7C9k8cNIV+Q2V98xmnYE6JrByZ+wC4771D3llSOWpAgsYiSxIhkzq/oMnt69z2D WwzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=OQov0MYkTIBONoBTme4xRpWTb2zSIeTV6sGIJV2qfic=; b=gcIM1GjiIsRzTfFkdKz0gLwoKAr3WZSKVWBELxdSAzPDlRe/LpCwQHXZQU7ljRjlMr Fhm5YmYVAG5Aw60i+Len5ln7rGYw62V/80nzUyQUuRCRxUlijG491xB13KA+qKdDe80z k6RHqNbwzPcwKpWL7OtcJJC+xxb527AkKgbEl5uem2SRoWnihwIcuoPGA4aQuoK0C3Hf 5YygKNODFNkczba9yjVBYuzZvNY7klCrBiPrvlnDjzuzFUt/uNQ9gJwDhlRLC064O3qF MNaUl3g33jTEk68eqIAnM43zownNrzDQQs/bb0VBFWA9lgXbWcaKYyb1AfAptJHVzMFT OxFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=RzescEvZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id p8-20020a170902a40800b00153b2d165b0si2661146plq.440.2022.04.15.19.00.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Apr 2022 19:00:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=RzescEvZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 5A8501BB829; Fri, 15 Apr 2022 18:20:44 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349604AbiDOFKD (ORCPT + 99 others); Fri, 15 Apr 2022 01:10:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352078AbiDOFGd (ORCPT ); Fri, 15 Apr 2022 01:06:33 -0400 Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A0C1A2CE1F; Thu, 14 Apr 2022 22:00:17 -0700 (PDT) Received: by mail-pj1-x102d.google.com with SMTP id o5so6872317pjr.0; Thu, 14 Apr 2022 22:00:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OQov0MYkTIBONoBTme4xRpWTb2zSIeTV6sGIJV2qfic=; b=RzescEvZ/UzDxR72ij28BEXKLD79UpqT0JUxla6jeXPDxQPnXwLOM9bSPbP0h38+WY 1H9sR90tTaBobJZtc5Gvm2aDV5A6tHWdMjxqeVJzYJcKx9BX904TkcsCKLSt65kZcLjz +MwAUQffr5J+V++P30I2HHEW7pBIATy971HSaOpYl1fQz3QHNUYGTgwYSEIig0PwBE5I wZW/1eAAXQEsrQ/nLipoqOEg8Fx3QxXqPsHlaQdlvCc6M7EEwnLXNaxUX/TauniMt2eq zSx1c7hZ1DtOMCYRL/7uDA8+fG7hCmkrUCzPnxwbBHGSISeumxV/dO1GA9u/qKkxftEy 9bNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OQov0MYkTIBONoBTme4xRpWTb2zSIeTV6sGIJV2qfic=; b=TPrecT2mkZpVH6BGCmPOPWSGt9zOKFa3G46z6MVv1lzJpQk6wZBzgrhmiTtQ9XSCPz I1s6b306h2OgVBUVb9IfJKpChndUP/IGKO58Xd4mmtTaLOlcMZodGtzvEfMFIbG0DW5Q rpqIvQiAhaNqLX78nIzu8NarjmYzvIlgncQht9CgM0lNg9d8s3pV4C38SpstX1WI2kjY 9j+Uu22wRcCDvgsNu/5+Q6ih/YetQ8k3WgQrF1MyEGktIdqxJR8zcDG7Y30hSvgAtr6w Ldg4pn6YZMHJ+9hlk+Ibf1XlTq+KDVwFz0s+fwoZKMFyjuES5Fa0Nw75/qAE/cqvt9O6 vNsA== X-Gm-Message-State: AOAM5327fB2lEQVP6G8TWAnQuqQ1aOT6vf2kElvwXd7K1ISZrxzyjPpU ffgN/yrRYUcc9kKYqwR6EeRtEeQ7owi+Aw== X-Received: by 2002:a17:90b:2385:b0:1cb:7b13:934b with SMTP id mr5-20020a17090b238500b001cb7b13934bmr2214467pjb.121.1649998816241; Thu, 14 Apr 2022 22:00:16 -0700 (PDT) Received: from localhost ([199.247.115.17]) by smtp.gmail.com with ESMTPSA id 26-20020a630f5a000000b0039d83ab8655sm3336652pgp.0.2022.04.14.22.00.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Apr 2022 22:00:15 -0700 (PDT) From: Matt Turner To: linux-perf-users@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Jelle van der Waa , Matt Turner Subject: [PATCH] tools: port perf ui from GTK 2 to GTK 3 Date: Thu, 14 Apr 2022 22:00:03 -0700 Message-Id: <20220415050003.3257645-1-mattst88@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jelle van der Waa GTK 2 is a legacy API and the newer version is GTK 3 which changes a few API functions. gtk_tree_view_set_rules_hint is no longer required since theme's are now responsible to handle this, gtk_vbox_new is deprecated and replaced by passing the orientation to gtk_box_new. Apart from these changes the accessing of the screen changed in GTK which requires using new functions for getting geometry. Lastly the GTK_STOCK_OK define is deprecated in GTK 3. Signed-off-by: Jelle van der Waa Signed-off-by: Matt Turner --- Originally sent in 2019. I've rebased it and given it a test. One problem I've noticed is that C++ symbol names are often broken. E.g.: (perf:3254940): Gtk-WARNING **: 21:47:46.663: Failed to set text from markup due to error parsing markup: Error on line 1 char 95: “std::char_traits test-gtk3-infobar.c} | 0 .../feature/{test-gtk2.c => test-gtk3.c} | 0 tools/perf/Documentation/perf-report.txt | 2 +- tools/perf/Makefile | 2 +- tools/perf/Makefile.config | 22 +++++++++---------- tools/perf/Makefile.perf | 6 ++--- tools/perf/builtin-report.c | 2 +- tools/perf/builtin-version.c | 1 + tools/perf/tests/make | 12 +++++----- tools/perf/ui/gtk/annotate.c | 2 +- tools/perf/ui/gtk/browser.c | 16 ++++++++------ tools/perf/ui/gtk/hists.c | 6 +---- tools/perf/ui/gtk/progress.c | 2 +- tools/perf/ui/setup.c | 2 +- 17 files changed, 56 insertions(+), 46 deletions(-) rename tools/build/feature/{test-gtk2-infobar.c => test-gtk3-infobar.c} (100%) rename tools/build/feature/{test-gtk2.c => test-gtk3.c} (100%) diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature index ae61f464043a..4ce9c514f30b 100644 --- a/tools/build/Makefile.feature +++ b/tools/build/Makefile.feature @@ -79,8 +79,8 @@ FEATURE_TESTS_EXTRA := \ compile-32 \ compile-x32 \ cplus-demangle \ - gtk2 \ - gtk2-infobar \ + gtk3 \ + gtk3-infobar \ hello \ libbabeltrace \ libbfd-liberty \ @@ -113,6 +113,7 @@ FEATURE_DISPLAY ?= \ dwarf \ dwarf_getlocations \ glibc \ + gtk3 \ libbfd \ libbfd-buildid \ libcap \ diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index de66e1cc0734..82e2cc182c57 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -11,8 +11,8 @@ FILES= \ test-fortify-source.bin \ test-get_current_dir_name.bin \ test-glibc.bin \ - test-gtk2.bin \ - test-gtk2-infobar.bin \ + test-gtk3.bin \ + test-gtk3-infobar.bin \ test-hello.bin \ test-libaudit.bin \ test-libbfd.bin \ @@ -205,11 +205,11 @@ $(OUTPUT)test-libtracefs.bin: $(OUTPUT)test-libcrypto.bin: $(BUILD) -lcrypto -$(OUTPUT)test-gtk2.bin: - $(BUILD) $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) -Wno-deprecated-declarations +$(OUTPUT)test-gtk3.bin: + $(BUILD) $(shell $(PKG_CONFIG) --libs --cflags gtk+-3.0 2>/dev/null) -$(OUTPUT)test-gtk2-infobar.bin: - $(BUILD) $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) +$(OUTPUT)test-gtk3-infobar.bin: + $(BUILD) $(shell $(PKG_CONFIG) --libs --cflags gtk+-3.0 2>/dev/null) grep-libs = $(filter -l%,$(1)) strip-libs = $(filter-out -l%,$(1)) diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c index 5ffafb967b6e..5ec093498cfc 100644 --- a/tools/build/feature/test-all.c +++ b/tools/build/feature/test-all.c @@ -70,6 +70,14 @@ # include "test-libslang.c" #undef main +#define main main_test_gtk3 +# include "test-gtk3.c" +#undef main + +#define main main_test_gtk3_infobar +# include "test-gtk3-infobar.c" +#undef main + #define main main_test_libbfd # include "test-libbfd.c" #undef main @@ -187,6 +195,8 @@ int main(int argc, char *argv[]) main_test_libelf_getshdrstrndx(); main_test_libunwind(); main_test_libslang(); + main_test_gtk3(argc, argv); + main_test_gtk3_infobar(argc, argv); main_test_libbfd(); main_test_libbfd_buildid(); main_test_backtrace(); diff --git a/tools/build/feature/test-gtk2-infobar.c b/tools/build/feature/test-gtk3-infobar.c similarity index 100% rename from tools/build/feature/test-gtk2-infobar.c rename to tools/build/feature/test-gtk3-infobar.c diff --git a/tools/build/feature/test-gtk2.c b/tools/build/feature/test-gtk3.c similarity index 100% rename from tools/build/feature/test-gtk2.c rename to tools/build/feature/test-gtk3.c diff --git a/tools/perf/Documentation/perf-report.txt b/tools/perf/Documentation/perf-report.txt index 24efc0583c93..e4a7c99c7853 100644 --- a/tools/perf/Documentation/perf-report.txt +++ b/tools/perf/Documentation/perf-report.txt @@ -314,7 +314,7 @@ OPTIONS requires a tty, if one is not present, as when piping to other commands, the stdio interface is used. ---gtk:: Use the GTK2 interface. +--gtk:: Use the GTK3 interface. -k:: --vmlinux=:: diff --git a/tools/perf/Makefile b/tools/perf/Makefile index f3fe360a35c6..ea3fb4657a91 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -100,7 +100,7 @@ clean: # make -C tools/perf -f tests/make # build-test: - @$(MAKE) SHUF=1 -f tests/make REUSE_FEATURES_DUMP=1 MK=Makefile SET_PARALLEL=1 --no-print-directory tarpkg make_static make_with_gtk2 out + @$(MAKE) SHUF=1 -f tests/make REUSE_FEATURES_DUMP=1 MK=Makefile SET_PARALLEL=1 --no-print-directory tarpkg make_static make_with_gtk3 out build-test-tarball: @$(MAKE) -f tests/make REUSE_FEATURES_DUMP=1 MK=Makefile SET_PARALLEL=1 --no-print-directory out diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index f3bf9297bcc0..3bb755fb7676 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -755,20 +755,20 @@ ifndef NO_SLANG endif endif -ifdef GTK2 - FLAGS_GTK2=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) $(shell $(PKG_CONFIG) --libs --cflags gtk+-2.0 2>/dev/null) - $(call feature_check,gtk2) - ifneq ($(feature-gtk2), 1) - msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev); - NO_GTK2 := 1 +ifdef GTK3 + FLAGS_GTK3=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) $(shell $(PKG_CONFIG) --libs --cflags gtk+-3.0 2>/dev/null) + $(call feature_check,gtk3) + ifneq ($(feature-gtk3), 1) + msg := $(warning GTK3 not found, disables GTK3 support. Please install gtk3-devel or libgtk3.0-dev); + NO_GTK3 := 1 else - $(call feature_check,gtk2-infobar) - ifeq ($(feature-gtk2-infobar), 1) + $(call feature_check,gtk3-infobar) + ifeq ($(feature-gtk3-infobar), 1) GTK_CFLAGS := -DHAVE_GTK_INFO_BAR_SUPPORT endif - CFLAGS += -DHAVE_GTK2_SUPPORT - GTK_CFLAGS += $(shell $(PKG_CONFIG) --cflags gtk+-2.0 2>/dev/null) - GTK_LIBS := $(shell $(PKG_CONFIG) --libs gtk+-2.0 2>/dev/null) + CFLAGS += -DHAVE_GTK3_SUPPORT + GTK_CFLAGS += $(shell $(PKG_CONFIG) --cflags gtk+-3.0 2>/dev/null) + GTK_LIBS := $(shell $(PKG_CONFIG) --libs gtk+-3.0 2>/dev/null) EXTLIBS += -ldl endif endif diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 69473a836bae..0211a20242fe 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -48,7 +48,7 @@ include ../scripts/utilities.mak # # Define NO_SLANG if you do not want TUI support. # -# Define GTK2 if you want GTK+ GUI support. +# Define GTK3 if you want GTK+ GUI support. # # Define NO_DEMANGLE if you do not want C++ symbol demangling. # @@ -404,7 +404,7 @@ ifneq ($(OUTPUT),) CFLAGS += -I$(OUTPUT) endif -ifdef GTK2 +ifdef GTK3 ALL_PROGRAMS += $(OUTPUT)libperf-gtk.so GTK_IN := $(OUTPUT)gtk-in.o endif @@ -930,7 +930,7 @@ check: $(OUTPUT)common-cmds.h ### Installation rules -ifdef GTK2 +ifdef GTK3 install-gtk: $(OUTPUT)libperf-gtk.so $(call QUIET_INSTALL, 'GTK UI') \ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(libdir_SQ)'; \ diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 1ad75c7ba074..c3ad5e8e3098 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c @@ -1213,7 +1213,7 @@ int cmd_report(int argc, const char **argv) #ifdef HAVE_SLANG_SUPPORT OPT_BOOLEAN(0, "tui", &report.use_tui, "Use the TUI interface"), #endif - OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK2 interface"), + OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK3 interface"), OPT_BOOLEAN(0, "stdio", &report.use_stdio, "Use the stdio interface"), OPT_BOOLEAN(0, "header", &report.header, "Show data header."), diff --git a/tools/perf/builtin-version.c b/tools/perf/builtin-version.c index 9cd074a3d825..63c7e66bbc83 100644 --- a/tools/perf/builtin-version.c +++ b/tools/perf/builtin-version.c @@ -60,6 +60,7 @@ static void library_status(void) STATUS(HAVE_DWARF_SUPPORT, dwarf); STATUS(HAVE_DWARF_GETLOCATIONS_SUPPORT, dwarf_getlocations); STATUS(HAVE_GLIBC_SUPPORT, glibc); + STATUS(HAVE_GTK3_SUPPORT, gtk3); #ifndef HAVE_SYSCALL_TABLE_SUPPORT STATUS(HAVE_LIBAUDIT_SUPPORT, libaudit); #endif diff --git a/tools/perf/tests/make b/tools/perf/tests/make index da013e90a945..cb959dccbe9d 100644 --- a/tools/perf/tests/make +++ b/tools/perf/tests/make @@ -72,8 +72,8 @@ make_no_libpython := NO_LIBPYTHON=1 make_no_scripts := NO_LIBPYTHON=1 NO_LIBPERL=1 make_no_newt := NO_NEWT=1 make_no_slang := NO_SLANG=1 -make_no_gtk2 := NO_GTK2=1 -make_no_ui := NO_NEWT=1 NO_SLANG=1 NO_GTK2=1 +make_no_gtk3 := NO_GTK3=1 +make_no_ui := NO_NEWT=1 NO_SLANG=1 NO_GTK3=1 make_no_demangle := NO_DEMANGLE=1 make_no_libelf := NO_LIBELF=1 make_no_libunwind := NO_LIBUNWIND=1 @@ -93,7 +93,7 @@ make_no_sdt := NO_SDT=1 make_no_syscall_tbl := NO_SYSCALL_TABLE=1 make_with_clangllvm := LIBCLANGLLVM=1 make_with_libpfm4 := LIBPFM4=1 -make_with_gtk2 := GTK2=1 +make_with_gtk3 := GTK3=1 make_tags := tags make_cscope := cscope make_help := help @@ -113,7 +113,7 @@ make_install_prefix_slash := install prefix=/tmp/krava/ make_static := LDFLAGS=-static NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 NO_JVMTI=1 # all the NO_* variable combined -make_minimal := NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 +make_minimal := NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK3=1 make_minimal += NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 make_minimal += NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 make_minimal += NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 @@ -138,7 +138,7 @@ run += make_no_libpython run += make_no_scripts run += make_no_newt run += make_no_slang -run += make_no_gtk2 +run += make_no_gtk3 run += make_no_ui run += make_no_demangle run += make_no_libelf @@ -312,7 +312,7 @@ $(run): $(call test,$@) && \ rm -rf $@ $$TMP_DEST || (cat $@ ; false) -make_with_gtk2: +make_with_gtk3: $(call clean) @TMP_DEST=$$(mktemp -d); \ cmd="cd $(PERF) && $(MAKE_F) $($@) $(PARALLEL_OPT) $(O_OPT) DESTDIR=$$TMP_DEST"; \ diff --git a/tools/perf/ui/gtk/annotate.c b/tools/perf/ui/gtk/annotate.c index 0a50e962f9a3..efd380f124aa 100644 --- a/tools/perf/ui/gtk/annotate.c +++ b/tools/perf/ui/gtk/annotate.c @@ -208,7 +208,7 @@ static int symbol__gtk_annotate(struct map_symbol *ms, struct evsel *evsel, if (!pgctx) return -1; - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); notebook = gtk_notebook_new(); pgctx->notebook = notebook; diff --git a/tools/perf/ui/gtk/browser.c b/tools/perf/ui/gtk/browser.c index 8f3e43d148a8..6fd85b5325ba 100644 --- a/tools/perf/ui/gtk/browser.c +++ b/tools/perf/ui/gtk/browser.c @@ -13,19 +13,21 @@ void perf_gtk__signal(int sig) psignal(sig, "perf"); } -void perf_gtk__resize_window(GtkWidget *window) +void perf_gtk__resize_window(GtkWidget *widget) { GdkRectangle rect; - GdkScreen *screen; - int monitor; + GdkMonitor *monitor; + GdkDisplay *display; + GdkWindow *window; int height; int width; - screen = gtk_widget_get_screen(window); + display = gdk_display_get_default(); + window = gtk_widget_get_window(widget); - monitor = gdk_screen_get_monitor_at_window(screen, window->window); + monitor = gdk_display_get_monitor_at_window(display, window); - gdk_screen_get_monitor_geometry(screen, monitor, &rect); + gdk_monitor_get_geometry(monitor, &rect); width = rect.width * 3 / 4; height = rect.height * 3 / 4; @@ -58,7 +60,7 @@ GtkWidget *perf_gtk__setup_info_bar(void) content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_bar)); gtk_container_add(GTK_CONTAINER(content_area), label); - gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), GTK_STOCK_OK, + gtk_info_bar_add_button(GTK_INFO_BAR(info_bar), "_OK", GTK_RESPONSE_OK); g_signal_connect(info_bar, "response", G_CALLBACK(gtk_widget_hide), NULL); diff --git a/tools/perf/ui/gtk/hists.c b/tools/perf/ui/gtk/hists.c index c83be2d57f7e..5aa2655c7a0a 100644 --- a/tools/perf/ui/gtk/hists.c +++ b/tools/perf/ui/gtk/hists.c @@ -395,8 +395,6 @@ static void perf_gtk__show_hists(GtkWidget *window, struct hists *hists, } } - gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view), TRUE); - g_signal_connect(view, "row-activated", G_CALLBACK(on_row_activated), NULL); gtk_container_add(GTK_CONTAINER(window), view); @@ -583,8 +581,6 @@ static void perf_gtk__show_hierarchy(GtkWidget *window, struct hists *hists, perf_gtk__add_hierarchy_entries(hists, &hists->entries, store, NULL, &hpp, min_pcnt); - gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(view), TRUE); - g_signal_connect(view, "row-activated", G_CALLBACK(on_row_activated), NULL); gtk_container_add(GTK_CONTAINER(window), view); @@ -616,7 +612,7 @@ int evlist__gtk_browse_hists(struct evlist *evlist, const char *help, if (!pgctx) return -1; - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); notebook = gtk_notebook_new(); diff --git a/tools/perf/ui/gtk/progress.c b/tools/perf/ui/gtk/progress.c index eea6fcde518a..aaa7e7f6e4aa 100644 --- a/tools/perf/ui/gtk/progress.c +++ b/tools/perf/ui/gtk/progress.c @@ -13,7 +13,7 @@ static void gtk_ui_progress__update(struct ui_progress *p) char buf[1024]; if (dialog == NULL) { - GtkWidget *vbox = gtk_vbox_new(TRUE, 5); + GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); GtkWidget *label = gtk_label_new(p->title); dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); diff --git a/tools/perf/ui/setup.c b/tools/perf/ui/setup.c index 700335cde618..1d35e3ad4576 100644 --- a/tools/perf/ui/setup.c +++ b/tools/perf/ui/setup.c @@ -14,7 +14,7 @@ int use_browser = -1; #define PERF_GTK_DSO "libperf-gtk.so" -#ifdef HAVE_GTK2_SUPPORT +#ifdef HAVE_GTK3_SUPPORT static int setup_gtk_browser(void) { -- 2.35.1