// File: /workspace/github_cpp_makefile_star2_O3/eiskalteschatten[P]developersnotebook/src/windows/AboutDialog.cpp
// Function: AboutDialog::activate(_GtkWidget*, void*)
void AboutDialog::activate(GtkWidget *menu_item, void *main_window_obj) {
    MainWindow *mw = (MainWindow*)main_window_obj;
    const gchar *copyright = "(c) Alex Seifert 2018";

    Image logo("icon", "svg", mw->get_path_to_exec(), 128, 128);
    GdkPixbuf *logo_buf = logo.get_pixbuf();

    GtkWidget *dialog = gtk_about_dialog_new();

    gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(mw->get_window()));
    gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);

    gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), Constants::application_name.c_str());
    gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), Constants::application_version.c_str());
    gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(dialog), copyright);
    gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(dialog), Constants::application_slogan.c_str());
    gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(dialog), Constants::application_website.c_str());
    gtk_about_dialog_set_license_type(GTK_ABOUT_DIALOG(dialog), GTK_LICENSE_MIT_X11);

    gtk_about_dialog_set_logo_icon_name(GTK_ABOUT_DIALOG(dialog), NULL);
    gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(dialog), logo_buf);
    g_object_unref(logo_buf);

    gtk_dialog_run(GTK_DIALOG(dialog));
    gtk_widget_destroy(dialog);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x110, %rsp            # imm = 0x110
movq %rsi, %r15
leaq 0x58(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1566e(%rip), %rsi     # 0x29631
leaq 0x1566b(%rip), %rdx     # 0x29635
leaq 0x48(%rsp), %rdi
callq 0xd588
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1505c(%rip), %rsi     # 0x29041
leaq 0x15058(%rip), %rdx     # 0x29044
leaq 0x28(%rsp), %rdi
callq 0xd588
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0xd4f2
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movl $0x80, %r8d
movl $0x80, %r9d
callq 0xd75c
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1404f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x8170
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14066
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8170
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x1407d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x8170
leaq 0x68(%rsp), %rdi
callq 0xd98e
movq %rax, %r14
callq 0x8610
movq %rax, %rbx
callq 0x8f40
movq %rax, %r12
movq %rbx, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %r13
movq 0x20(%r15), %rdi
movq %r12, %rsi
callq 0x8150
movq %r13, %rdi
movq %rax, %rsi
callq 0x8be0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x8150
movq %rax, %rdi
movl $0x1, %esi
callq 0x8780
callq 0x8820
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x8150
movq 0x245e7(%rip), %rsi     # 0x386d8
movq %rax, %rdi
callq 0x84d0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq 0x2460d(%rip), %rsi     # 0x38718
movq %rax, %rdi
callq 0x8210
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
leaq 0x154f6(%rip), %rsi     # 0x2961b
movq %rax, %rdi
callq 0x80f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq 0x245f9(%rip), %rsi     # 0x38738
movq %rax, %rdi
callq 0x8c30
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq 0x245ff(%rip), %rsi     # 0x38758
movq %rax, %rdi
callq 0x8b80
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq %rax, %rdi
movl $0x7, %esi
callq 0x8aa0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq %rax, %rdi
xorl %esi, %esi
callq 0x9030
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8150
movq %rax, %rdi
movq %r14, %rsi
callq 0x81b0
movq %r14, %rdi
callq 0x8d00
callq 0x8860
movq %rbx, %rdi
movq %rax, %rsi
callq 0x8150
movq %rax, %rdi
callq 0x8330
movq %rbx, %rdi
callq 0x8180
leaq 0x68(%rsp), %rdi
callq 0xd912
addq $0x110, %rsp            # imm = 0x110
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x1423d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x14208
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x8170
jmp 0x14208
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x14224
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x8170
jmp 0x14224
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r14, %rdi
je 0x1424a
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x8170
jmp 0x1424a
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0xd912
movq %rbx, %rdi
callq 0x87b0
nop