summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2011-08-29 02:33:50 +0000
committerLiong Sauw Ming <ming@teluu.com>2011-08-29 02:33:50 +0000
commit4975a701a31b3c7de794a85435c83f614ac530a7 (patch)
tree32c1a06999fbe62026c3e3cf2e2b3c13d3b436ba /pjsip-apps
parent0eb1ccb735c3df5ca5bda3f0c64099bd8ac186f0 (diff)
Fixed #1354: stopping preview may hide parent window.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3728 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/vidgui/vidgui.cpp8
-rw-r--r--pjsip-apps/src/vidgui/vidwin.cpp18
-rw-r--r--pjsip-apps/src/vidgui/vidwin.h2
3 files changed, 16 insertions, 12 deletions
diff --git a/pjsip-apps/src/vidgui/vidgui.cpp b/pjsip-apps/src/vidgui/vidgui.cpp
index 5a1e5903..be0903b6 100644
--- a/pjsip-apps/src/vidgui/vidgui.cpp
+++ b/pjsip-apps/src/vidgui/vidgui.cpp
@@ -220,7 +220,7 @@ void MainWin::preview()
//X11 Display
//status = pjsua_vid_win_set_show(wid, PJ_TRUE);
//This is handled by VidWin now
- //video_prev_->show();
+ //video_prev_->show_sdl();
showStatus("Preview started");
previewButton_->setText(tr("Stop &Preview"));
@@ -623,9 +623,15 @@ static pjsip_module mod_default_handler =
NULL, /* on_tsx_state() */
};
+static int main_func(int argc, char *argv[])
+{
+ return 0;
+}
int main(int argc, char *argv[])
{
+ pj_run_app(&main_func, argc, argv, 0);
+
/* At least on Linux, we have to initialize SDL video subsystem prior to
* creating/initializing QApplication, otherwise we'll segfault miserably
* in SDL_CreateWindow(). Here's a stack trace if you're interested:
diff --git a/pjsip-apps/src/vidgui/vidwin.cpp b/pjsip-apps/src/vidgui/vidwin.cpp
index 1148a020..654035c1 100644
--- a/pjsip-apps/src/vidgui/vidwin.cpp
+++ b/pjsip-apps/src/vidgui/vidwin.cpp
@@ -46,7 +46,7 @@ VidWin::VidWin(const pjmedia_vid_dev_hwnd *hwnd_,
VidWin::~VidWin()
{
- show(false);
+ show_sdl(false);
detach();
}
@@ -72,13 +72,13 @@ bool VidWin::event(QEvent *e)
break;
case QEvent::Show:
- show(true);
+ show_sdl(true);
// revert to default size hint, make it resizable
setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
break;
case QEvent::Hide:
- show(false);
+ show_sdl(false);
break;
default:
@@ -138,7 +138,7 @@ void VidWin::get_size()
TRACE_("%p size = %dx%d", w, size_hint.width(), size_hint.height());
}
-void VidWin::show(bool visible)
+void VidWin::show_sdl(bool visible)
{
if (!hwnd.info.win.hwnd) return;
@@ -209,18 +209,16 @@ void VidWin::get_size()
TRACE_("%p size = %dx%d", 0, size_hint.width(), size_hint.height());
}
-void VidWin::show(bool visible)
+void VidWin::show_sdl(bool visible)
{
if (!hwnd.info.cocoa.window) return;
NSWindow *w = (NSWindow*)hwnd.info.cocoa.window;
if (visible) {
- if (![w isMiniaturized]) {
- [w makeKeyAndOrderFront:nil];
- }
+ [[w contentView]setHidden:NO];
} else {
- [w orderOut:nil];
+ [[w contentView]setHidden:YES];
}
}
@@ -284,7 +282,7 @@ void VidWin::get_size()
TRACE_("%p size = %dx%d", w, size_hint.width(), size_hint.height());
}
-void VidWin::show(bool visible)
+void VidWin::show_sdl(bool visible)
{
if (!hwnd.info.x11.window) return;
diff --git a/pjsip-apps/src/vidgui/vidwin.h b/pjsip-apps/src/vidgui/vidwin.h
index 3602da94..b784943b 100644
--- a/pjsip-apps/src/vidgui/vidwin.h
+++ b/pjsip-apps/src/vidgui/vidwin.h
@@ -45,7 +45,7 @@ private:
void detach();
void set_size();
void get_size();
- void show(bool visible=true);
+ void show_sdl(bool visible=true);
};
#endif